これはばかげているように聞こえるかもしれませんが、集計関数が返されるレコードを1に制限する理由はわかりません。実際的な理由よりも、これは知っているだけです。
id
1
2
3
4
今SELECT id FROM table
は
id
1
2
3
4
私がやればSELECT id, id, 1 AS p FROM table
それは与える
id id p
1 1 1
2 2 1
3 3 1
4 4 1
SELECT id, MAX(2) AS p FROM table
だから次に私は収量を仮定します
id p
1 2
2 2
3 2
4 2
しかし、これは実際には次のようになります。
id p
1 2
1)なぜこれが集計関数で発生し、期待した結果が得られないのですか?
2)これはMySQLとSQLiteで見つかりました。すべてのデータベースは同じように応答しますか?
3)好奇心から、次のようなビューを取得するためにクエリを実行するにはどうすればよいですか。
id max(id)
1 4
2 4
3 4
4 4