SQL SERVER找出非重复数据

时间:2013-09-23 23:04:12

标签: sql sql-server

我有一个包含3列的表格,如下所示

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列重复,

我尝试使用Group by(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

我该怎么做?

抱歉,我不擅长英语。

寻求帮助。

1 个答案:

答案 0 :(得分: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