|
|
|
| Есть 2 табл. группы_публик и публикации. задача показать из каждой группы по 5 публкаций у которых время создания наибольшее.
Немогу придумать как была задумка что подзапрос выдаст время а потом используя IN получим результат. Но LIMIT и IN нельзя использовать вместе . ПОдскажите почему? и что можно придумать с запросом? | |
|
|
|
|
|
|
|
для: 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; | |
|
|
|