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

Форум MySQL

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

 

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

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

тема: Несовместимы LIMIT и IN
 
 автор: megamansofttime   (16.09.2008 в 14:23)   письмо автору
 
 

Есть 2 табл. группы_публик и публикации. задача показать из каждой группы по 5 публкаций у которых время создания наибольшее.
Немогу придумать как была задумка что подзапрос выдаст время а потом используя IN получим результат. Но LIMIT и IN нельзя использовать вместе . ПОдскажите почему? и что можно придумать с запросом?

  Ответить  
 
 автор: megamansofttime   (16.09.2008 в 18:17)   письмо автору
 
   для: megamansofttime   (16.09.2008 в 14:23)
 

Разобрался, может кому то пригодится


SET @group_id:=0, @ord1:=0, @ord2=0;
SELECT * FROM (
SELECT pub_id,pub_time,pub_name, group_id, IF(@group_id=group_id,@ord1:=@ord1+1, @ord1:=1) ord1, @ord2:=@ord2+1 AS ord2, @group_id := group_id
FROM p_publications ORDER BY group_id,pub_time DESC) AS sub

WHERE ord1<=5 ORDER BY ord2;

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

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