質問: 最新のデータを取るSQLを知りたいです。 登録日時 名前 金額 都道府県 番号 2020/07/01 10:01:01 testA 2,000 北海道 434 2020/07/01 15:01:01 testA 1,900 北海道 434 2020/07/01 18:01:01 testA 1,750 北海道 434 ←ここを取りたい 2020/07/01 20:01:01 testB 1,050 岩手 222 ←ここを取りたい 2020/07/01 19:01:01 testC 1,500 山形 333 ←ここを取りたい 2020/07/01 12:01:01 testC 1,600 山形 333 group byを使うにも金額列が同一でないため難しいように思います。 ``` select * from tableA where 登録日時=(select max(登録日時) from tableA) ``` これだと岩手だけ取れそうに思えるので難しいように思います。 そうすれば「ここを取りたい」だけ取れるのでしょうか。 よろしくお願いします。
回答: 「SQL 最新」とかで検索すれば幾らでも事例は見つかるのに、一向にこういった質問が無くならないのは何故なのでしょうね。 自身の環境に置き換える事が出来ない? それとも回答しちゃうから駄目なのかな。 取り敢えず、一例。 ``` select * from tableA ta where not exists( select 1 from tableA where 名前=ta.名前 and 都道府県=ta.都道府県 and 番号=ta.番号 and 登録日時 > ta.登録日時 ) ```