91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

sql怎么重復記錄只保留一條

sql
小億
88
2024-10-27 01:09:48
欄目: 云計算

在SQL中,如果你想要刪除重復的記錄,但只保留其中一條,你可以使用以下方法:

  1. 使用DELETEJOIN語句:

假設你有一個名為my_table的表,其中有id(主鍵)、column1column2列,你想要刪除重復的column1column2組合,但只保留每組的第一條記錄。你可以使用以下查詢:

DELETE t1 FROM my_table t1
JOIN my_table t2
ON t1.column1 = t2.column1 AND t1.column2 = t2.column2 AND t1.id > t2.id;

這個查詢會刪除所有重復的記錄,但只保留每組的第一條記錄。

  1. 使用ROW_NUMBER()窗口函數:

你還可以使用ROW_NUMBER()窗口函數來實現這個目標。假設你的表名為my_table,你想要刪除重復的column1column2組合,但只保留每組的第一條記錄。你可以使用以下查詢:

WITH ranked_table AS (
  SELECT *,
         ROW_NUMBER() OVER (PARTITION BY column1, column2 ORDER BY id) AS row_num
  FROM my_table
)
DELETE FROM ranked_table
WHERE row_num > 1;

這個查詢首先使用ROW_NUMBER()函數為每組重復的記錄分配一個行號,然后刪除所有行號大于1的記錄,從而只保留每組的第一條記錄。

0
湄潭县| 资阳市| 宁德市| 宜昌市| 嘉荫县| 东丽区| 西充县| 科技| 南充市| 平阴县| 建德市| 施秉县| 普兰店市| 浦北县| 梁河县| 微博| 博爱县| 东兰县| 天峨县| 澄城县| 广元市| 出国| 山丹县| 银川市| 开远市| 陆河县| 武定县| 丰顺县| 鄂托克旗| 吉林市| 长顺县| 通山县| 乌兰浩特市| 天台县| 岫岩| 沅陵县| 抚顺县| 江门市| 威宁| 晋江市| 海南省|