タグ

ブックマーク / xov.jp (1)

  • MySQLでgroup byの結果を逆順(最大順、最新順)で取得する方法

    公開2015.01.21 更新2017.12.03 仕事技術 MySQLのgroup byで少しハマったのでメモしておきます。 結論からいうと、この問題を解決するには以下のSQL文でいけます。 SELECT * FROM table_name WHERE created IN (SELECT MAX(created) FROM table_name GROUP BY table_id) MySQLで普通にgroup byして結果を取得すると、そのままではレコードの作成が古いものが優先されて取得されてしまいます。 それならば!ということでorder byして取得しようとしますが、group byはorder byより先に実行されてしまうらしく、order byしてもgroup byの結果が並び替えられるだけでうまくいきません。 なのでサブクエリを使って、group byで上記の例でいうとこ

    MySQLでgroup byの結果を逆順(最大順、最新順)で取得する方法
    mfham
    mfham 2015/08/27
  • 1