gpt4 book ai didi

sql - 从 SQL Server 表中获取连续数字范围

转载 作者:行者123 更新时间:2023-12-01 08:10:10 24 4
gpt4 key购买 nike

我正在使用 SQL Server 2014。我有一个表,其列 BookNodatatype int。此列包含以下数据

|BookNo|
1
2
3
4
5
10
12
13
25
26
27
28

我想查询 Sql 中的连续数字范围。从上面的数据我的输出应该像

1 to 5
10 to 13
25 to 28

任何帮助...

最佳答案

我认为您可以使用这样的查询:

SELECT BookNo, ISNULL(LEAD(prev) OVER (ORDER BY BookNo) , (SELECT MAX(BookNo) FROM yourTable)) As toCon
FROM
(
SELECT *, LAG(BookNo) OVER (ORDER BY BookNo) prev, BookNo - LAG(BookNo) OVER (ORDER BY BookNo) diff
FROM yourTable) dt
WHERE
(ISNULL(diff, 0) <> 1);

[SQL Fiddle Demo]

关于sql - 从 SQL Server 表中获取连续数字范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33061952/

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