中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
宜兴市| 连江县| 通道| 四子王旗| 镇平县| 如东县| 吉木萨尔县| 陆川县| 莱西市| 湟中县| 桂平市| 克拉玛依市| 兴业县| 鹤岗市| 修文县| 邢台市| 哈尔滨市| 安阳市| 澜沧| 海宁市| 东海县| 荆州市| 博爱县| 新乡市| 竹山县| 冷水江市| 苍山县| 红安县| 铅山县| 泰宁县| 荃湾区| 遵义市| 民县| 泽州县| 工布江达县| 武功县| 博罗县| 福建省| 扶风县| 昭平县| 南投县|