sql-server - SQL 服务器 2008 R2 : Remove single occurrence record.

标签 sql-server sql-server-2008-r2

我有下表,其中包含两列,如下所示:

CREATE TABLE test_lin
(
    Cola INT,
    Colb INT
);

INSERT INTO test_lin VALUES(1,2);
INSERT INTO test_lin VALUES(1,3);
INSERT INTO test_lin VALUES(1,4);
INSERT INTO test_lin VALUES(1,5);
INSERT INTO test_lin VALUES(1,3);
INSERT INTO test_lin VALUES(2,4);
INSERT INTO test_lin VALUES(2,6);
INSERT INTO test_lin VALUES(2,7);
INSERT INTO test_lin VALUES(2,4);
INSERT INTO test_lin VALUES(2,6);

注意:现在我只想显示那些重复多次的记录。就像我的情况一样,(1,3),(2,4),(2,6) 记录在表中重复。

enter image description here

我想从结果集中删除单次出现的记录。单次出现的记录如下图所示。

enter image description here

最佳答案

WITH CTE as 
(
SELECT Cola,Colb,ROW_NUMBER() OVER(PARTITION BY Cola,Colb ORDER BY Cola) AS RN
FROM test_lin
)

SELECT T.* 
FROM test_lin T INNER JOIN  CTE C ON C.COLa = t.Cola and C.COLb = t.Colb and c.RN=2

关于sql-server - SQL 服务器 2008 R2 : Remove single occurrence record.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32857662/

相关文章:

sql-server-2008-r2 - SQL71501 : Trigger: [dbo]. [TriggerName] 具有对对象 [dbo].[TableName] 的未解析引用

sql-server-2008-r2 - Entity Framework 代码第一基类未映射到数据库

sql-server - SQL 服务器 : EXECUTE AS clause of stored procedure not granting sysadmin permissions

sql - FROM CLAUSE (SQL) 中的此 SQL 语句中的括号是做什么的

SQL 2008 R2 - 基于时间的触发器?

asp.net - 数据库隔离模型

c# - 在 SQL 查询或 UI 代码中计算金额(数量 * 价格)

sql - 如何从字符串中删除特定字符,仅当它是字符串中的第一个或最后一个字符时。

sql-server - 我可以使身份字段跨越SQL Server中的多个表吗?

SQL - 使用左连接进行分组