Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: GROUP BY и сортировка по другому полю
 
 автор: Shek   (29.08.2013 в 16:29)   письмо автору
 
 

Здравствуйте. Ни как не получается составить нужный SQL запрос, чтобы в него попадали только уникальные значения id_comments и сортировались по дате.
Пытаюсь следующим образом, но по дате не сортируются.

SELECT * FROM `event` WHERE date BETWEEN '2013-08-29 00:00:00' AND '2013-08-29 23:59:59' GROUP BY id_comments ORDER BY date DESC

Буду очень благодарен, если подскажете как правильно.

  Ответить  
 
 автор: cheops   (31.08.2013 в 08:22)   письмо автору
 
   для: Shek   (29.08.2013 в 16:29)
 

Странно, что не сортируется? Полученные даты выстроены не в хронологическом порядке?

Попробуйте использовать ключевое слово DISTINCT для получения результата.

  Ответить  
 
 автор: Shek   (31.08.2013 в 20:26)   письмо автору
 
   для: cheops   (31.08.2013 в 08:22)
 

Я не совсем точно поставил задачу. Мне необходимо чтобы из множества id_comments за указанный период было выбрано самое позднее значение date и затем уже отсортировано по убыванию.
Задачу разрешило применение функции MAX().

SELECT * FROM `event`
WHERE date BETWEEN '2013-08-29 00:00:00' 
AND '2013-08-29 23:59:59' 
GROUP BY id_comments 
ORDER BY MAX(date) DESC

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования