来自:
|-------------------------------|
| 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的事实。
这个数据网格可以达到数千个,所以有一个经济有效的方法可以做到这一点。
答案 0 :(得分:0)
举个例子,我会选择'包含'列的最小值:
select a.column1, a.column2, min(a.column3) as column3
from table as a
group by a.column1, a.column2
答案 1 :(得分:0)
根据您的情况选择
SELECT *
FROM dbo.yourTable t
WHERE EXISTS (
SELECT 1
FROM dbo.yourTable t2
WHERE t2.Column3 = t.Column3
HAVING COUNT(*) = 1
)