多くのギャラリーの写真を含むテーブルgal_photosがあります
- id (整数)
- Gall_id (整数)
- ファイル名 (varchar)
- 位置 (整数)
- プレビュー (tinyint 1)
- date_add (日時)
ここで、各gal_idの1つの写真のリスト(要約プレビュー用)を取得したいと思いますが、プレビュー1がある場合はこれ、それ以外の場合は位置番号が最も小さい写真です。最終的にdate_addでソート
select *
from gall_photos
where (preview = 1 or position = min(position))
group by gall_id
order by date_add
このクエリはエラーを返します (「or position = min(position)」が使用されている場合)
どうぞ、何か考えはありますか?
編集 (12.1. 18:50UTC): 1 つのギャラリー (gall_id) で複数の写真のプレビューを確認することが可能です。次に、そのうちの 1 つが必要です。これも最下位の位置です。