Доброго времени суток. Есть таблица (MyISAM), в которой находятся порядка 100 000 записей. Необходимо вывести по 2 записи из каждой секции / раздела ( поле section ) Тестовый запрос Код (Text): FLUSH STATUS; EXPLAIN SELECT `id`, `section`, `closed` FROM ( SELECT `id`, `section`, `closed`, if(if(@c_section != section, @c_section := section, '') != '', @k := 0, @k := @k + 1) c FROM history2, ( select @c_section := '' ) v WHERE section > 0 and closed = 0 ORDER BY section ) AS t2 WHERE c < 2; SHOW STATUS LIKE 'handler%'; Данные Код (Text): INSERT INTO `history2` (`id`, `closed`, `section`) VALUES (1, 0, 0), (2, 0, 0), (3, 0, 0), (4, 0, 1), (5, 0, 1), (6, 0, 1), (7, 0, 2), (8, 0, 2), (9, 0, 2), (10, 0, 3), (11, 0, 3), (12, 0, 3), (13, 0, 4), (14, 0, 4), (15, 0, 4); Ключи Код (Text): ALTER TABLE `history2` ADD PRIMARY KEY (`id`), ADD KEY `section` (`section`,`closed`) USING BTREE; ALTER TABLE `history2` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=100045; COMMIT; Хотелось бы получить такой вид: id section 5 1 4 1 9 2 8 2 12 3 11 3 15 4 14 4 Голова кипит уже , спасибо!