Выборка данных из таблицы с группировкой

Setor

Новичок
Выборка данных из таблицы с группировкой

Задача следующая: нужно выбрать из таблицы записи, сгруппировав их по определённому полю так, чтобы в каждой группе было не более 10 записей.

Действие аналогично GROUP BY, только последняя выбирает по 1й уникальной записи, а мне надо по 10. Возможно ли это cделать одним запросом?
 

zerkms

TDD infected
Команда форума
сделать SET для промежуточной переменной
делать CONCAT остатка от деления этой промежуточной переменной на 10 с группируемым полем
увеличивать промежуточную переменную на 1
группировать по полученному результату

-~{}~ 24.01.06 01:03:

выглядеть это будет примерно так:

SET @a=0;
SELECT CONCAT(`field`,'_',(@a:=@a+1)%2) AS `grp`, ... FROM `table` GROUP BY `grp` ORDER BY `field`;
 
Сверху