更新履歴ログで、同日で同じ種類のメッセージは、最新のレコードのみ表示するSQL文(group byした中の最新レコードを取得したい)
たしかに、その日の最終結果だけ知りたい。って事もあるよね。
(相関)サブクエリか、外部結合か、好みが分かれる所やな。
https://teratail.com/questions/31250
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
SELECT T1.id, T1.created_at, T1.history_message FROM history_log AS T1 INNER JOIN ( -- その日のメッセージ種別毎の最新IDを取得(idはauto_incrementだから最大が最新) SELECT DATE_FORMAT(created_at,'%Y-%m-%d') as yyyymmdd, history_message_kind, MAX(id) as max_id FROM `history_log` WHERE `code`='検索対象のコード' group by DATE_FORMAT(created_at,'%Y-%m-%d'), history_message_kind ) AS T2 ON T2.max_id=T1.id order by T1.created_at DESC |