Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте!
Есть таблица
ID grID nm(не важно - произвольное поле, которое надо выбрать)
Нужно выбрать не более 3 (может быть меньше и даже ни одной) записей для каждого grID. Группы могут располагаться в таблице в произвольном порядкеКак справиться без union с этой задачей?
create table `mytab` ( `Id` double , `grID` double , `nm` varchar (30)); insert into `mytab` (`Id`, `grID`, `nm`) values('1','1','a'),('2','2','b'),('3','2','c'),('4','2','d'),('5','3','e'),('6','3','f'),('7','2','g'),('8','2','h'),('9','2','i'),('10','3','j'),('11','4','k'),('12','5','l'),('13','6','m'),('14','4','n'),('15','6','o'),('16','6','p'),('17','7','q'),('18','4','r'),('19','4','s');
Неактивен
У меня пока получилось только что-то страшное:
Неактивен
Вам удалось подзапросом реализовать функциональность курсора. Ваш запрос будет скорее всего быстрее, чем курсор. Более простой способ не знаю
Неактивен