如何始终仅显示 SQL 查询的结果 table 中相同值的第一个值?
How to display always just the first value from the same values in a result table of an SQL query?
我有一个 select 查询,其中 returns 一列中有许多相同的有序值。
看起来像这样:
Id
Type
1
A
2
A
3
A
4
B
5
B
6
C
7
C
8
C
但我喜欢这样显示:
Id
Type
1
A
2
3
4
B
5
6
C
7
8
感谢任何建议!
您可以使用lag
window函数,
select t.id,
case when lag([type]) over(order by id)=[type] then '' else [type] end [Type]
from t
我有一个 select 查询,其中 returns 一列中有许多相同的有序值。
看起来像这样:
Id | Type |
---|---|
1 | A |
2 | A |
3 | A |
4 | B |
5 | B |
6 | C |
7 | C |
8 | C |
但我喜欢这样显示:
Id | Type |
---|---|
1 | A |
2 | |
3 | |
4 | B |
5 | |
6 | C |
7 | |
8 |
感谢任何建议!
您可以使用lag
window函数,
select t.id,
case when lag([type]) over(order by id)=[type] then '' else [type] end [Type]
from t