0

由此:

|-------------------------------|
| Column1 |  Column2  |  Column3|
|-------------------------------|
|   1     |     2     |    3    |
|-------------------------------|
|   1     |     2     |    4    |
|-------------------------------|
|   1     |     2     |    4    |
|-------------------------------|
|   2     |     5     |    6    |
|-------------------------------|
|   3     |     7     |    7    |
|-------------------------------|

我怎样才能做到这一点:

|-------------------------------|
| Column1 |  Column2  |  Column3|
|-------------------------------|
|   1     |     2     |    3    |
|-------------------------------|
|   2     |     5     |    6    |
|-------------------------------|
|   3     |     7     |    7    |
|-------------------------------|

仅基于第 3 列有 2 行不同的值为 4 的事实。

该数据网格可以达到数千个,因此最好采用一种经济高效的方式来执行此操作。

4

2 回答 2

0

以您的示例为例,我将为“重复包含”列选择最小值:

select a.column1, a.column2, min(a.column3) as column3
from table as a
group by a.column1, a.column2
于 2013-03-14T22:20:05.170 回答
0

根据您的情况选择

SELECT *
FROM dbo.yourTable t
WHERE EXISTS (         
              SELECT 1
              FROM dbo.yourTable t2
              WHERE t2.Column3 = t.Column3
              HAVING COUNT(*) = 1
              )
于 2013-03-14T22:29:57.000 回答