1
Мне нужно получить нижние значения N из таблицы с учетом того, что вставляются несколько категорий или типов.bottom N из нескольких возможных групп
мой стол:
CREATE TABLE `Table1` (
`name` VARCHAR(250) NOT NULL,
`total` INT(11) NOT NULL,
`type` INT(11) NOT NULL
)
ENGINE=InnoDB;
Некоторые значения:
|| *name* || *total* || *type* ||
|| Clock || 12 || 103 ||
|| Brief Case || 21 || 103 ||
|| Pencil || 34 || 103 ||
|| Lollypop || 45 || 103 ||
|| Notebook || 67 || 142 ||
|| Rubber Band || 3 || 143 ||
|| Smartphone || 1 || 143 ||
Что я получил до сих пор:
SELECT name,total from Table1 ORDER BY TOTAL ASC LIMIT 3 where type=143;
, но мне нужно одног e для каждой категории с одним запросом.
Пробовал так:
SELECT name,total from Table1 ORDER BY TOTAL ASC LIMIT 3 GROUP BY type;
, но это неправильно. Как и ожидалось, я получаю всего 3 записи из всех записей вместо 3 из каждой категории.
[можно дублировать] Mysql selecting (n) rows of each occurrance
Я не думаю, что это возможно сделать с одним MySQL Query, за исключением, если вы знаете все типы заранее (то вы можете сделать длинный и уродливый СОЮЗ всех из них) – Ashalynd