gpt4 book ai didi

SQL:连接顺序整数值

转载 作者:行者123 更新时间:2023-12-02 07:34:44 25 4
gpt4 key购买 nike

我有这样一个专栏:

ID
--------
1
2
3
4
5
7
10

我想得到以下结果集:

ID
--------
1-5
7
10

有没有一种方法可以仅使用 (Oracle) SQL 来实现这一点?

最佳答案

是的:

select (case when min(id) < max(id)
then cast(min(id) as varchar2(255)) || '-' || cast(max(id) as varchar2(255))
else cast(min(id) as varchar2(255))
end)
from (select id, id - rownum as grp
from t
order by id
) t
group by grp
order by min(id);

Here是一个演示它的 SQL Fiddle。

查询背后的想法是从数字序列中减去 rownum 得到一个常量。您可以使用常量进行分组。

关于SQL:连接顺序整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17972630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com