当前位置:首页 > mysql > 正文

mysql重复数据只保留一条(sql删除重复数据保留一条)

  • mysql
  • 2024-03-21 16:38:51
  • 2795
使用 DISTINCT 关键字
DISTINCT 关键字可以从查询结果中去除重复的数据行。
例如:SELECT DISTINCT name FROM table_name;
使用 GROUP BY 子句
GROUP BY 子句将数据按指定列分组,并只保留每组中的一行。
例如:SELECT name, MAX(age) AS age FROM table_name GROUP BY name;
使用 LIMIT 子句
LIMIT 子句可以限制查询结果中返回的行数。
例如:SELECT FROM table_name LIMIT 1;
使用 ROW_NUMBER() 函数
ROW_NUMBER() 函数可以为每个数据行分配一个唯一的行号。
结合 PARTITION BY 子句,可以只保留每组中的第一行。
例如:SELECT FROM (SELECT , ROW_NUMBER() OVER (PARTITION BY name ORDER BY age) AS row_num FROM table_name) AS subquery WHERE row_num = 1;
使用 UNION 和 DISTINCT
可以使用 UNION 操作符合并两个查询结果,然后使用 DISTINCT 关键字去除重复数据。
例如:
SELECT name FROM table_name1 UNION SELECT name FROM table_name2;
SELECT DISTINCT name FROM (SELECT name FROM table_name1 UNION SELECT name FROM table_name2);