Скажите, у меня есть поля этой таблицы:
Field1 Field2 Field3
a 1 1
a 1 2
a 1 3
a 1 4
a 2 1
a 2 2
a 2 3
a 3 1
b 1 1
b 1 2
b 1 3
b 2 1
c 1 1
и скажите, что мне нужно сгруппировать по полю1 (потому что мне нужны некоторые вычисления для данных),
Есть ли способ получить только первые 2 элемента, сгруппированных по Field2 (отсортировано по описанию)?
Так что для этого примера я хотел бы получить:
a,3,1
a,2,3
a,2,2
a,1,4
a,1,3
b,1,2
b,1,1
b,2,1
c,1,1
было бы что-то вроде
SELECT field1,
Sum(field2),
Sum(field3)
FROM table t1
WHERE t1.Field1 IN (SELECT t2.Field1
FROM table t2
WHERE t2.Field1 = t1.Field1
ORDER BY Field2,
Field3 DESC
LIMIT 2)
GROUP BY field1