А ты прикинь, если там 1 млн. сообщений от 120 юзеров? Ты сколько раз сделаешь выборку по 1 миллиону??? Твой запрос просто не сработает. Точнее, он или он "положит" сервер, или будет работать очень и очень долго.
Что касается неработоспособности "моего" запроса"... Не проверял его, честно говоря :) В "моем" запросе id - это был айди пользователя (из таблицы пользователей), а не айди сообщения. То, что ты неправильно меня понял... Ну это не совсем мои проблемы :) А больше проблема Медведя, наверное, который не указал четкую структуру своих таблиц.
ОК. Замечательно всё работает, если указать правильные поля (пришлось-таки мне время потратить и создать табличку):
#таблица
CREATE TABLE `messages` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_user` int(10) unsigned NOT NULL DEFAULT '0',
`username` varchar(45) NOT NULL DEFAULT '',
`message` varchar(45) NOT NULL DEFAULT '',
`msg_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
#данные
insert into messages
(id_user, username, message, msg_date)
values
( 1, 'user1', 'abcd', '2015-04-05 12:21:15'),
( 1, 'user1', 'bsldkj', '2015-03-06 17:34:35'),
( 4, 'user4', 'lklj ldj', '2014-02-22 21:22:33'),
( 4, 'user4', 'gsdf', '2015-03-01 05:15:22'),
( 4, 'user4', 'kjl glskjl j', '2015-02-12 09:03:05');
# новый запрос
select id_user, username, (select message from messages m2 where m2.id=m1.id order by msg_date desc limit 1) as msg, msg_date
from messages m1
group by id_user
# начальный "мой" запрос, для сравнения, что было изменено
select id, username, (select message from messages m2 where m2.id=m1.id order by msg_date desc limit 1) as msg
from messages m1
group by id
Поле username тут введено, на самом деле, чисто для наглядности. При правильной структуре таблиц тут надо оставить только id_user, а username убрать нафиг.
А
Медведю я пояснять запрос не буду, пока он не прочитает указанный мной хэлп и пока не попытается сам разобраться. Как уже правильно было замечено, "всем похер, что у тебя там медленное" ;)
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)