2013-09-23 38 views
0

我有3列的表如下SQL SERVER找出非重复数据

id a b 
================= 
1 1 2 
2 1 3 
3 1 4 
4 2 4 
5 2 5 
6 3 4 
7 3 5 

我想告诉结果

如果列或b柱被复制,

我有尝试使用(a,b)组,但结果不是我想要的。

我想组由(a)和示出了分组的第一行的A,B和B不重复

在我的例子中,A将分组为{1,2,3},

和B将显示{2,4,5}不是{2,4,4},因为4,4是重复的

id a b 
================= 
1 1 2 

4 2 4 

7 3 5 

我该怎么办?

对不起,我不擅长英语。

Thx寻求帮助。

+0

复制?那是什么? – Mihai

+0

根据描述我会说要使用DISTINCT或GROUP BY,但是我没有看到关于您的数据与您的基础数据关系的规则。 –

+0

重复,对不起我的英文 – ZHE

回答

0

此代码从您的示例数据到您的示例结果。看起来很奇怪,但我怀疑这是你要找的。如果你提供更多的细节,那么你可以得到更好的答案。

CREATE TABLE Example 
(
    id INT NOT NULL, 
    a INT NOT NULL, 
    b INT NOT NULL 
) 
GO 

INSERT Example 
VALUES 
    (1, 1, 2) 
    , (2, 1, 3) 
    , (3, 1, 4) 
    , (4, 2, 3) 
    , (5, 2, 4) 
    , (6, 3, 4) 

SELECT 
    MIN(id) AS id 
    , a 
    , MIN(b) AS b 
FROM 
    Example 
GROUP BY 
    a 

DROP TABLE Example