如何始终只显示 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_NUMBERCASE 表达式。祝你好运! 【参考方案1】:

你可以使用lag窗口函数

select t.id, 
    case when lag([type]) over(order by id)=[type] then '' else [type] end [Type]
from t

【讨论】:

太棒了!感谢您的快速帮助!

以上是关于如何始终只显示 SQL 查询结果表中相同值的第一个值?的主要内容,如果未能解决你的问题,请参考以下文章

SQL关联两张表查数据,结果只显示一条。

sql中如何使一列中的多个重复数据只显示一次, 求大神指导,使得图中的班简名重复的只显示一次。

SQL查询从具有相同列“名称”的其他两个表中获取具有不同值的单列“名称”[关闭]

Sql数据库查询,如何实现只显示为某值的字段?

如何优化 SQL 查询以检查表中列值的一致性

Oracle中怎么样把字段相同的值加在一起