есть таблица из 3х столбцов
юзер, время, сообщение
нужно получить все сообщения сгруппированые по юзерам и упорядоченые по времени
делаю так
SELECT * FROM `данные` GROUP BY `юзер` ASC ORDER BY `время` ASC
получаю по одному сообщению от каждого юзера
как получить все сообщения сгруппированые по юзерам и упорядоченые по времени ?
(Добавление)
неужели за 1 запрос сделать это невозможно ?
нужно запрашивать всех юзеров по порядку, а потом для каждого бзера запрашивать сообщения ?
1. integer - 07 Ноября, 2013 - 17:49:34 - перейти к сообщению
2. caballero - 07 Ноября, 2013 - 18:29:15 - перейти к сообщению
а как ты себе представляешь возвращаемый набор данных
с группировкой по юзерам?
набор даных плоский а не трехмерный
с группировкой по юзерам?
набор даных плоский а не трехмерный
3. integer - 07 Ноября, 2013 - 18:37:56 - перейти к сообщению
возможно я не правильно понимаю работу GROUP
попробую объяснить по другому
сейчас сделано так:
SELECT * FROM `данные` ORDER BY `юзер`
сначала идут все записи первого, потом второго, третьего итд пользователя
это почти то что нужно
нужно еще и сами записи каждого юзера отсортировать по времени
попробую объяснить по другому
сейчас сделано так:
SELECT * FROM `данные` ORDER BY `юзер`
сначала идут все записи первого, потом второго, третьего итд пользователя
это почти то что нужно
нужно еще и сами записи каждого юзера отсортировать по времени
4. caballero - 07 Ноября, 2013 - 18:39:00 - перейти к сообщению
ORDER BY `юзер` ASC , `время`
5. integer - 07 Ноября, 2013 - 18:45:04 - перейти к сообщению
спасибо, то что нужно.
пробовал делать почти так-же
SELECT * FROM `данные` ORDER BY `юзер` ORDER BY `время`
но не получалось, не силен в синтаксисе баз данных
пробовал делать почти так-же
SELECT * FROM `данные` ORDER BY `юзер` ORDER BY `время`
но не получалось, не силен в синтаксисе баз данных
6. integer - 09 Ноября, 2013 - 21:46:37 - перейти к сообщению
есть еще вопрос по этой же таблице из 3х столбцов
юзер, время, сообщение
и запросу
SELECT * FROM `данные` ORDER BY `юзер` ASC , `время` DESC
юзеры сортируются по возрастанию, знаю как сделать по убыванию (но нужно не это)
мой вопрос в том, как в этом запросе сделать сортировку юзеров по времени его последнего сообщения (время в юникс формате)
чтоб сначала шли юзеры с самыми новыми сообщениями а затем более старые.
чтото типа ORDER BY `юзер` MAX(`время`) ASC, `время` DESC
юзер, время, сообщение
и запросу
SELECT * FROM `данные` ORDER BY `юзер` ASC , `время` DESC
юзеры сортируются по возрастанию, знаю как сделать по убыванию (но нужно не это)
мой вопрос в том, как в этом запросе сделать сортировку юзеров по времени его последнего сообщения (время в юникс формате)
чтоб сначала шли юзеры с самыми новыми сообщениями а затем более старые.
чтото типа ORDER BY `юзер` MAX(`время`) ASC, `время` DESC