在 SQL Server 中考虑这个结果:
ID Check
-----------
9052 N
9052 Y
2049 N
2049 Y
6940 N
6940 Y
7941 N
8118 N
8187 N
如果同一 ID 至少有一个 Y,如何删除重复的 ID 行并在“检查”列中仅保留 Y。如果存在仅带有N的ID,则保留它们。我还有很多其他列未在示例中显示。所以预期的结果是:
ID Check
------------
9052 Y
2049 Y
6940 Y
7941 N
8118 N
8187 N
CHECK
是一个保留字,所以我会避免使用该列名称。无论如何,由于 Y > N 那么你可以使用 MAX
。
select
id,
max(check_col) as check_col
from table1
group by id
order by id
id | check_col |
---|---|
2049 | 是 |
6940 | 是 |
7941 | N |
8118 | N |
8187 | N |
9052 | 是 |