|
SELECT запрос: по X записей из каждой категории.
|
|||
---|---|---|---|
#18+
Я где-то находил образец выполнения такой задачи. Но хоть убейте - не соображу\нахожу щас. Просьба помочь. Задача: есть таблицы CREATE TABLE `ZAnuCu_OnuCAHuE`( `id` INTEGER PRIMARY KEY, `HAZBAHuE` TEXT ASC, `MODELb` TEXT, `KPATHOCTb` INTEGER, `DOCTynHIOCTb` INTEGER, `KAPTuHKA` TEXT, `KATEGOPuia` INTEGER, `PAZDEL` INTEGER, `OnuCAHuE` TEXT, `CTATyC` TEXT, `PEDAKTuPOBAHuE` TEXT); CREATE TABLE `ZAnuCu_KATEGOPuu`( `id` INTEGER ASC, `KATEGOPuia` INTEGER ASC, `PAZDEL` INTEGER ASC, `PEDAKTuPOBAHuE` TEXT); CREATE TABLE `KATEGOPuu`( `id_KATEGOPuu` INTEGER PRIMARY KEY, `HAZBAHuE` TEXT, `HAZBAHuE_nOLHOE` TEXT ASC, `PODuTELb` INTEGER, `PAZDEL` INTEGER, `yPOBEHb` INTEGER, `KOLu4ECTBO` INTEGER, `PEDAKTuPOBAHuE` TEXT ); Как мне получить "список категорий и по 1 записи в каждой из них"? Мои попытки, связанные с LIMIT не увенчались успехом: SELECT k.`id_KATEGOPuu`, k.`HAZBAHuE`, k.`HAZBAHuE_nOLHOE`, k.`PODuTELb`, k.`yPOBEHb`, `KOLu4ECTBO`, k.`PEDAKTuPOBAHuE`, z.`HAZBAHuE` AS ZAnuCb FROM `KATEGOPuu` k, `ZAnuCu_OnuCAHuE` z, `ZAnuCu_KATEGOPuu` z_k WHERE z_k.`KATEGOPuia`=k.`id_KATEGOPuu` LIMIT 0,10; Выдаёт 1 категорию и 10 записей в ней(10 раз категорию, и в каждой по 1 записи, разной). А мне надо: список категорий + колонка "ZAnuCb" в которой по 1 записи из каждой категории. Причём с сортировкой по алфавиту. Запрос вида SELECT k.`id_KATEGOPuu`, k.`HAZBAHuE`, k.`HAZBAHuE_nOLHOE`, k.`PODuTELb`, k.`yPOBEHb`, `KOLu4ECTBO`, k.`PEDAKTuPOBAHuE`, z.`HAZBAHuE` AS ZAnuCb FROM `KATEGOPuu` k, `ZAnuCu_OnuCAHuE` z, `ZAnuCu_KATEGOPuu` z_k WHERE z_k.`KATEGOPuia`=k.`id_KATEGOPuu` GROUP BY k.`id_KATEGOPuu` ORDER BY k.`yPOBEHb` ASC, k.`HAZBAHuE` ASC, z.`HAZBAHuE` ASC LIMIT 0,10; Уходит в астрал. Если убираю "GROUP BY" - всё отрабатывает, но не правильно. Собственно: что я упустил? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 19:58 |
|
SELECT запрос: по X записей из каждой категории.
|
|||
---|---|---|---|
#18+
47911, а что left join?? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2017, 15:07 |
|
|
start [/forum/topic.php?fid=54&fpage=5&tid=2008480]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 151ms |
0 / 0 |