У меня проблема с выбором чередующихся строк в MySQL -
Изображение:
CREATE TABLE `images` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) DEFAULT NULL,
`file` varchar(255) DEFAULT NULL,
`project_id` int(10) unsigned DEFAULT NULL,
);
И хочу иметь возможность выбирать строки из таблицы изображений таким образом, чтобы иметь чередующиеся значения project_id IS NOT NULL. В основном:
- изображение с идентификатором проекта
- изображение без идентификатора проекта
- изображение с идентификатором проекта
- изображение без идентификатора проекта
- изображение с идентификатором проекта
- изображение без идентификатора проекта
Как это можно сделать в одном SQL-запросе? Я пробовал:
SELECT `images`.*,
IF(images.project_id, images.project_id % 2, images.id % 2) AS `mixer`
FROM `images` AS `images`
ORDER BY `mixer` DESC
Но это не то, что мне нужно. Также в последнем запросе, вероятно, будет указан «GROUP BY images.id», поэтому, если решение не испортит запрос, это будет приветствоваться.