※ ChatGPTを利用し、要約された質問です(原文:replaceを使って更に重複レコード削除するには?)
replaceを使って更に重複レコード削除するには?
このQ&Aのポイント
SQL文を使用して、指定した条件で重複レコードを削除する方法が知りたいです。
name列の空白を除去し、laptime列を昇順にソートしてから、重複行を削除したいです。
現在のSQLクエリでは空白削除とソートまでできているが、重複行削除がうまくいきません。助言をお願いします!
replaceを使って更に重複レコード削除するには?
下記のように空白除去、ソート、重複行削除を行いたいのですが、
なかなかうまくいきません。どなたか力を貸して下さい。
-----------------
name | laptime
-----------------
山田太郎 | 50
鈴木 花子 | 20
山田 太郎 | 10
齊藤 二郎 | 60
山田 太郎 | 30
------------------
↓
-----------------
name | laptime
-----------------
山田太郎 | 10
鈴木花子 | 20
齊藤二郎 | 60
------------------
* laptime が小さい順
* nameの空白除去
* 空白除去後のnameの重複行削除(laptimeが一番小さいものを残す)
下記のようにSQL文を作って発行してみたのですが、
SELECT
DISTINCT replace( replace( trim( name ) , ' ', '' ) , ' ', '' ) AS name_a,
laptime
FROM tyouhuku
ORDER BY laptime ASC
-----------------
name_a | laptime
-----------------
山田太郎 | 10
鈴木花子 | 20
山田太郎 | 30
山田太郎 | 50
齊藤二郎 | 60
------------------
と、空白削除とlaptimeソートまで出来てるのですが、重複行削除ができませんでした。
どなたかご助言、宜しくお願いします!
お礼
うまくいきました!ありがとうございます。 この方法であれば、ORDER BY ***をとってもOKですね。 助かりました、ありがとういます。