我在 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 的交替值不为空。基本上:
- 带有 project_id 的图像
- 没有 project_id 的图像
- 带有 project_id 的图像
- 没有 project_id 的图像
- 带有 project_id 的图像
- 没有 project_id 的图像
这如何在一个 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”,所以如果解决方案没有弄乱查询,那将是非常受欢迎的。