【发布时间】:2013-01-14 17:51:31
【问题描述】:
我有一张表 gall_photos,其中包含许多画廊的照片
- id (int)
- gall_id (int)
- 文件名(varchar)
- 位置(整数)
- 预览(tinyint 1)
- date_add(日期时间)
现在我想获取照片列表(用于摘要预览),每个 gall_id 一张,但如果有预览 1,那么这个,否则是位置编号最低的照片。最后按date_add排序
select *
from gall_photos
where (preview = 1 or position = min(position))
group by gall_id
order by date_add
此查询返回错误(如果使用“或 position = min(position)”)
请问有什么办法吗?
编辑(12.1. 18:50UTC):可以在一个画廊(gall_id)中查看更多照片的预览,然后我需要其中一张,再次是最低位置
【问题讨论】:
-
去掉 where 语句周围多余的括号
-
WHERE CLAUSE 不允许使用 GROUP BY 代替,请参阅下面的答案。谢谢
-
哦,我完全忘记了,谢谢大家的回答
标签: mysql