sql >> データベース >  >> RDS >> Mysql

MySQL集計関数の問題

    HAVING 句は、行のグループをフィルタリングするために使用されます。 min(a)を参照します およびmax(a) これ(GROUP BYがない場合 句)すべてのaに集約 テーブル内の値ですが、単一のaとの比較を使用します 値。

    つまり、どのa MySQLが使用することになっている値?私が知っている他のすべてのRDBMSは、この時点でエラーをスローしますが、MySQLはこれを許可します。 ドキュメントから

    したがって、あなたの場合、あなたが得ている結果から、それは1を使用することになったように見えます aのスカラー値として ただし、この動作は保証されておらず、2も同様に使用できます。 またはその他の既存のa 値。




    1. JOIN構文でのMySQL相関サブクエリ

    2. 複数のテーブルにわたるMySQL全文検索

    3. クエリを使用して既存のテーブルのSQL作成スクリプトを生成する

    4. MySQLは、固定値と複数の選択結果を持つデータを挿入します