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

mysqlのWHERE句でエイリアスを使用できますか?

    HAVING句を使用できます。これは エイリアスを参照してください。例:

     HAVING avg_rating>5
    

    ただし、where句では、式を繰り返す必要があります。

     WHERE (sum(reviews.rev_rating)/count(reviews.rev_id))>5
    

    しかし!すべての式が許可されるわけではありません。SUMなどの集計関数を使用しても機能しません。その場合は、HAVING句を使用する必要があります。

    MySQLマニュアル から :

    WHERE句の実行時に列の値がまだ決定されていない可能性があるため、WHERE句で列エイリアスを参照することはできません。 セクションB.1.5.4「問題列エイリアス」



    1. パターンに一致する値を含むオブジェクトのJSON配列を検索します

    2. SQLRecoverableException:I / O例外:接続のリセット

    3. Rails + Postgresドロップエラー:データベースは他のユーザーによってアクセスされています

    4. 遅いクエリでPostgreSQLのパフォーマンスの問題を特定する方法