MSSQL如何准确合并重复数据(mssql 合并重复数据)

当使用MSSQL操作数据时,会遇到重复数据的出现, 准确合并重复的数据是数据操作的重点难点,一般情况下,我们可以使用Group by这种功能来实现合并重复数据,但是在实际操作中,可能会碰到数据偏差,为解决这种问题, 我们可以使用行数据分析函数ROW_NUMBER() 来准确合并重复数据,该函数可以应用在聚合函数,它将输出在聚合的基础数据行中的行号。

下面用一个例子来说明如何使用ROW_NUMBER()函数准确合并重复数据:

首先,需要创建一个如下表来存储数据:

“`sql

CREATE TABLE if NOT EXISTS persons(

id int NOT NULL,

name VARCHAR(50) NOT NULL,

marks int

);


然后,我们插入几行测试数据:
```sql
INSERT INTO persons(id, name, marks)
VALUES
(1, 'A', 55),
(2, 'B', 55),
(3, 'C', 95);

接下来,我们就可以通过如下语句来准确地合并重复数据:

“`sql

SELECT

marks,

COUNT(*) AS num

FROM

(SELECT

marks,

ROW_NUMBER() OVER(PARTITION BY marks ORDER BY marks) AS rowNum

FROM persons) P

GROUP BY marks;


在上面的查询中,在结果集中会制定每种 marks 的值,并计算每种 marks 的重复数量,如下所示:

|marks|num|
|:--|:--|
|55|2|
|95|1|
通过ROW_NUMBER()函数,我们可以准确的合并重复的数据,而不会失真。

数据运维技术 » MSSQL如何准确合并重复数据(mssql 合并重复数据)