Нестандартная сортировка

SorokinWS
Дата: 07.02.2013 13:06:20
Здравствуйте.

Прошу помочь в решении задачи:
Есть MySQL таблица:
CREATE TABLE `bugreport` (
  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `autor` INT(10) UNSIGNED NOT NULL,
  `priority` INT(10) UNSIGNED NOT NULL,
  `text` text NOT NULL,
  `type` tinyint(1) UNSIGNED NOT NULL,
  PRIMARY KEY (`id`)
);


По данным этой таблице нужно выполнить следующую сортировку:
Сначала все записи сортируем по полю `type`, внутри поля `type` разделяем с чередованием по полю `autor` при этом внутри каждого автора должна производиться сортировка по полю `priority`.
Желательно сортировку сделать средствами SQL

Пример:
INSERT INTO `test`.`bugreport` (`id` ,
`autor` ,
`priority` ,
`text` ,
`type` 
)
VALUES (NULL , '1', '2', 'text - 121', '1'
), (NULL , '1', '1', 'text - 111', '1'
), (NULL , '1', '3', 'text - 131', '1'
), (NULL , '1', '2', 'text - 120', '0'
), (NULL , '1', '1', 'text - 110', '0'
), (NULL , '1', '3', 'text - 130', '0'
), (NULL , '2', '3', 'text - 231', '1'
), (NULL , '2', '4', 'text - 240', '0'
), (NULL , '2', '1', 'text - 211', '1'
), (NULL , '3', '1', 'text - 311', '1'
);


Получим:
idautorprioritytexttype
112text - 1211
211text - 1111
313text - 1311
412text - 120 0
511text - 1100
613text - 1300
723text - 2311
824text - 2400
921text - 2111
1031text - 3111


После сортировок должен быть следующий порядок (Особое внимание обратите па порядок поля autor):
idautorprioritytexttype
511text - 1100
824text - 2400
412text - 1200
613text - 1300
211text - 1111
921text - 2111
1031text - 3111
112text - 1211
723text - 2311
313text - 1311
Akina
Дата: 07.02.2013 14:27:14
http://www.sql.ru/forum/actualthread.aspx?tid=684431
Прочитать про нумерацию записи в группе.
Пронумеровать (@num) записи в группе с сортировкой по priority.
Сортировать выходной набор по concat(@num,autor)