サンプルデータを含むテーブル「画像」:
id | user_id | album_id | sort
1 15 1 1
2 15 1 2
3 15 1 0
4 15 2 0
5 15 2 1
6 15 3 0
MySQLクエリ:
SELECT id, sort, COUNT(*) FROM images WHERE user_id=15 GROUP BY album_id
クエリは、一意の組み合わせごとに1つの行を返します。ただし、どの行id
が選択されているかをどのように判断できますか?たとえば、画像sort=0
はアルバムのカバー画像です。この画像へのファイルパスには、が含まれていid
ます。では、どのようにして常に行のIDを取得することができsort=0
ますか?
私は試しましたがMIN(sort)
、これは常に列に返されますが0
、そのsort
列には適切id
ではありません...?ORDER BY sort
結果を並べ替えるだけです...解決策でもありません。
どんな助けでも大歓迎です!事前にどうもありがとうございました!
編集:これがより良い理解に役立つことを願っています:
たとえば、クエリは次の結果を返します。
id | sort | count
1 1 3
4 0 2
6 0 1
sort
しかし、の値がであるこの特定の行を常に取得するにはどうすればよい0
でしょうか。例えば
id | sort | count
3 0 3
4 0 2
6 0 1