全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

sqlserver去重的几种方法

发布时间:2023-11-24 13:33:19
发布人:xqq

一、使用DISTINCT关键字

1、DISTINCT关键字用于SELECT语句中,可以去掉查询结果中重复的记录。

2、例如,我们有一个员工表,要查询其中所有不同的职位:

SELECT DISTINCT job_title FROM employee;

3、使用DISTINCT关键字,在查询结果中会去除重复的职位。

二、使用GROUP BY语句

1、GROUP BY语句可以分组聚合查询结果。

2、例如,我们有一个销售记录表,要查询每个商品的销售数量和销售金额:

SELECT product_name, SUM(quantity_sold), SUM(selling_price)
FROM sales_records
GROUP BY product_name;

3、在查询结果中,每个商品的记录合并成了一个,去除了重复的商品。

三、使用ROW_NUMBER()函数

1、ROW_NUMBER()函数可以按照指定的条件对查询结果进行编号。

2、例如,我们有一个成绩表,要查询按照班级和科目排名前三的学生:

SELECT class, subject, student_name, score
FROM (
    SELECT class, subject, student_name, score,
    ROW_NUMBER() OVER (PARTITION BY class, subject ORDER BY score DESC) AS rn
    FROM score_table
) AS A
WHERE rn <= 3;

3、在查询结果中,每个班级科目的前三名学生的记录被筛选出来。

四、使用EXISTS子查询

1、EXISTS子查询可以用于筛选满足特定条件的记录。

2、例如,我们有一个客户和订单表,要查询有购买记录的客户姓名:

SELECT customer_name
FROM customer_table
WHERE EXISTS (
    SELECT *
    FROM order_table
    WHERE customer_table.customer_id = order_table.customer_id
);

3、在查询结果中,只有有购买记录的客户的姓名被筛选出来。

五、使用UNION运算符

1、UNION运算符可以将多个查询结果合并。

2、例如,我们有一个商品表和促销表,要查询参与促销的商品名称:

SELECT product_name
FROM product_table
WHERE product_id IN (
    SELECT product_id
    FROM promotion_table
)
UNION
SELECT product_name
FROM promotion_table
WHERE product_id IN (
    SELECT product_id
    FROM product_table
);

3、在查询结果中,商品表和促销表中所有参与促销的商品的名称被合并成了一个结果。

sqlserver去重

相关文章

Powershell删除文件详解

Powershell删除文件详解

2023-11-24
Ubuntu更改密码方法用法介绍

Ubuntu更改密码方法用法介绍

2023-11-24
富文本编辑器生成html用法介绍

富文本编辑器生成html用法介绍

2023-11-24
img转base64的多方面详解

img转base64的多方面详解

2023-11-24

最新文章

武汉新媒体行业公司排名

武汉新媒体行业公司排名

2023-11-01
武汉新媒体就业现状好吗

武汉新媒体就业现状好吗

2023-11-01
武汉全媒体行业发展现状及趋势

武汉全媒体行业发展现状及趋势

2023-10-31
武汉全媒体现状

武汉全媒体现状

2023-10-31