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

MySQLクエリエイリアスの不明な列を修正するにはどうすればよいですか? 2018年

    MySQL5.7リファレンスマニュアル によると 、

    エイリアスはクエリの実行時に生成され、WHERE条件の実行時に準備ができていない可能性があるため、WHERE句でエイリアスを使用しないでください。 MySQLはクエリの結果として生成されるまでエイリアスを認識しないため、エイリアスは不明な列エラーになります。したがって、ここではWHERE句でエイリアスを使用できません。

    (質問編集後の追加)

    次のクエリで目的の結果を得ることができます:

    SELECT r.id, r.url, MAX(date) as `max_date`
    FROM report as r
    GROUP BY id, url;
    

    クエリの説明:SELECTで 表示する列、MAX()のみに言及する句 関数はすでに最大値自体を選択しており(したがって、WHERE句は必要ありません)、GROUP BY句は、idに基づいてすべての結果をグループ化するように結果に指示します。 次にurl




    1. mysqlテーブルの更新不可能な列

    2. SQLは重複する行をマージし、異なる値を結合します

    3. Android:MySQLに保存するデータを送信する

    4. django.db.utils.OperationalError:(2013、「ハンドシェイク:初期通信パケットの読み取り」でMySQLサーバーへの接続が失われました、システムエラー:0)