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

後でクエリで選択した列を使用できますか?

    使用:

    SELECT `id`,
           `hits` + `other_hits` AS `total_hits`
      FROM `something`
    HAVING `total_hits` > 30
    

    最も初期のMySQLで列エイリアスへの参照が許可されているのは、GROUP BYです。 句;その後の句は参照をサポートします(HAVINGORDER BY )。他のほとんどのデータベースは、ORDER BYの前にテーブルエイリアスを参照することをサポートしていません 、通常、派生テーブル/インラインビューを使用する必要があります:

    SELECT t.id, t.total_hits
      FROM (SELECT `id`,
                   `hits` + `other_hits` AS `total_hits`
              FROM `something`) t
     WHERE t.total_hits > 30
    

    それ以外の場合は、WHERE句のロジックを再利用する必要があります:

    SELECT `id`,
           `hits` + `other_hits` AS `total_hits`
      FROM `something`
     WHERE `hits` + `other_hits` > 30
    


    1. MySQLは2つの列からテキストを検索します

    2. SQL Server(T-SQL)でデータベースメールアカウントを更新する

    3. mysqlで生年月日から年齢を計算します

    4. おい、その#tempテーブルを所有しているのは誰ですか?