如何始终只显示 SQL 查询结果表中相同值的第一个值?
Posted
技术标签:
【中文标题】如何始终只显示 SQL 查询结果表中相同值的第一个值?【英文标题】:How to display always just the first value from the same values in a result table of an SQL query? 【发布时间】:2021-12-22 23:47:17 【问题描述】:我有一个选择查询,它在一列中返回许多相同的有序值。
看起来像这样:
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 |
感谢您的建议!
【问题讨论】:
看看ROW_NUMBER
和CASE
表达式。祝你好运!
【参考方案1】:
你可以使用lag
窗口函数,
select t.id,
case when lag([type]) over(order by id)=[type] then '' else [type] end [Type]
from t
【讨论】:
太棒了!感谢您的快速帮助!以上是关于如何始终只显示 SQL 查询结果表中相同值的第一个值?的主要内容,如果未能解决你的问题,请参考以下文章
sql中如何使一列中的多个重复数据只显示一次, 求大神指导,使得图中的班简名重复的只显示一次。