以下のような商品ごとにタイプ違いデータがあります。
カテゴリーをグループ化して更新日付(update)が違う場合、
古い更新日付のレコードを削除するSQLがわかりません。
重複行を抽出するSQLはできたいのですが、、、ご教示お願いいたします。
SQL
1SELECT 2 * 3FROM 4 table a 5WHERE 6 a.category in ( 7 SELECT 8 b.category 9 FROM 10 table b 11 GROUP BY 12 b.category 13 HAVING 14 COUNT(*) > 1 15 )
id | category | type | update | item |
---|---|---|---|---|
1001 | 100 | 1 | 2021-01-01 | 商品11 |
1002 | 100 | 2 | 2021-02-01 | 商品12 |
2001 | 200 | 1 | 2021-02-01 | 商品21 |
2002 | 200 | 2 | 2021-02-01 | 商品22 |
3001 | 300 | 1 | 2021-03-10 | 商品31 |
3002 | 300 | 2 | 2021-03-01 | 商品32 |
4001 | 400 | 1 | 商品41 | |
4002 | 400 | 2 | 商品42 | |
5001 | 500 | 1 | 2021-01-15 | 商品51 |
5002 | 500 | 2 | 2021-01-10 | 商品52 |
削除したいレコードは
id | category | type | update | item |
---|---|---|---|---|
1001 | 100 | 1 | 2021-01-01 | 商品11 |
3002 | 300 | 2 | 2021-03-01 | 商品32 |
5002 | 500 | 2 | 2021-01-10 | 商品52 |
になります。
回答1件
あなたの回答
tips
プレビュー