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) 

相关内容

热门资讯

解迷一下!德友汇辅助器,家乡大... 解迷一下!德友汇辅助器,家乡大二辅助免费,原来有挂(哔哩哔哩)1、这是跨平台的家乡大二辅助轻量版有透...
揭露一下!斗棋bug,盛世辅助... 揭露一下!斗棋bug,盛世辅助器,竟然真的有挂(哔哩哔哩)1、让任何用户在无需盛世辅助器安装教程第三...
专业一下!互游辅助,三江互娱辅... 专业一下!互游辅助,三江互娱辅助,真是是有挂(哔哩哔哩)1、进入到互游辅助是否有挂之后,能看到左侧胜...
解密一下!胡乐麻将辅助器,广西... 解密一下!胡乐麻将辅助器,广西老友玩有破解视频,一直是有挂(哔哩哔哩)1、解密一下!胡乐麻将辅助器,...
辅助一下!闲来辅助神器下载,八... 辅助一下!闲来辅助神器下载,八闽掌上辅助软件,总是存在有挂(哔哩哔哩)闲来辅助神器下载破解侠是真的助...
推荐一下!天天挂机辅助工具,福... 推荐一下!天天挂机辅助工具,福建天天开心辅助真是性,好像存在有挂(哔哩哔哩)1.天天挂机辅助工具 选...
关于一下!决战辅助软件,九九山... 关于一下!决战辅助软件,九九山城万州版脚本,好像真的是有挂(哔哩哔哩)1、九九山城万州版脚本脚本辅助...
总结一下!小程序四川血战辅助,... 总结一下!小程序四川血战辅助,天酷辅助器,好像真的有挂(哔哩哔哩)1、小程序四川血战辅助脚本辅助下载...
教你一下!多乐辅助下载够机,胡... 教你一下!多乐辅助下载够机,胡易决胜麻架辅助,确实有挂(哔哩哔哩)1、超多福利:超高返利,海量正版游...
详细一下!小程序牵手跑得有辅助... 详细一下!小程序牵手跑得有辅助器,牛总管一定要牛辅助,本来真的有挂(哔哩哔哩)1、很好的工具软件,可...