SQL中的去重
创始人
2024-11-13 02:14:15
0

SQL中的去重

1. Distinct去重

说明:DISTINCT 关键字用于返回唯一不同的值,一般放在查询语句中的第一个字段前使用。
DISTINCT会将NULL值也看做成一个不同的值。

DISTINCT去重

假如有一张员工表:
在这里插入图片描述
需要获取所有不重复的员工薪资和年龄的组合,如下编写SQL即可

SELECT DISTINCT age,salary FROM Employee 

结果:
在这里插入图片描述

2. Group By去重

GROUP BY也可以达到类似的效果

SELECT age,salary FROM Employee GROUP BY age,salary 

不过使用GROUP BY还可以实现聚合的效果,可以联合聚合函数一起使用。
还是上面的员工表,我需要获取每个部门的最高工资的人

-- 使用JOIN连表 SELECT e.department_id, e.name, e.salary FROM Employee e JOIN (     SELECT department_id, MAX(salary) AS max_salary     FROM Employee     GROUP BY department_id ) AS max_salaries ON e.department_id = max_salaries.department_id    AND e.salary = max_salaries.max_salary; -- 使用EXISTS条件判断 SELECT e.department_id, e.name, e.salary FROM Employee e WHERE EXISTS (     SELECT 1     FROM (         SELECT department_id, MAX(salary) AS salary         FROM Employee         GROUP BY department_id     ) AS m  		WHERE m.department_id = e.department_id AND m.salary = e.salary );  

3. 唯一索引限制

可以创建一个唯一索引,用来在源头上控制重复数据的插入

CREATE UNIQUE INDEX index_name  ON Employee(age,salary) 

相关内容

热门资讯

6分钟法子!xpoker辅助器... 6分钟法子!xpoker辅助器(透视)切实存在有辅助透视(哔哩哔哩)1、许多玩家不知道xpoker辅...
透视模块!约局吧辅助器(透视)... 透视模块!约局吧辅助器(透视)开挂脚本插件(哔哩哔哩)约局吧辅助器透视方法中分为三种模型:约局吧辅助...
十分钟安装!哈局八张透视辅助,... 十分钟安装!哈局八张透视辅助,战神辅助卡密购买(竟然存在有辅助脚本)-哔哩哔哩1、进入游戏-大厅左侧...
据报道"哥哥打大a外... 据报道"哥哥打大a外卦辅助工具"原来是有辅助工具(有挂工具)-哔哩哔哩1、全新机制【哥哥打大a外卦辅...
1分钟项目!wepoker好友... 1分钟项目!wepoker好友助力码(透视)原来真的是有辅助插件(哔哩哔哩)1)wepoker好友助...
透视操作!hhpoker一直输... 透视操作!hhpoker一直输有挂吗(透视)开挂透视下载(哔哩哔哩)hhpoker一直输有挂吗透视方...
五分钟辅助!福建天天开心辅助软... 五分钟辅助!福建天天开心辅助软件大全,关春天凑一桌辅助(果然存在有辅助辅助)-哔哩哔哩1、每一步都需...
一分钟了解!"小程序... 一分钟了解!"小程序微乐游戏辅助"其实真的有辅助软件(有挂分析)-哔哩哔哩1)小程序微乐游戏辅助有没...
透视方针!红龙poker辅助工... 透视方针!红龙poker辅助工具(透视)开挂透视辅助器(哔哩哔哩)1.红龙poker辅助工具 选牌创...
第2分钟举措!wepoker好... 第2分钟举措!wepoker好友局透视(透视)真是真的有辅助下载(哔哩哔哩)小薇(辅助器软件下载)致...