问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL 查询不连续的号码,按号码段分段显示,并统计分段数量。

发布网友 发布时间:2022-04-26 17:38

我来回答

2个回答

热心网友 时间:2022-04-11 20:14

declare @AA table(years int , number int)
insert into @AA values (2014,45201521)
insert into @AA values (2014,45201522)
insert into @AA values (2014,45201523)
insert into @AA values (2014,45201524)
insert into @AA values (2014,45201525)
insert into @AA values (2014,45201526)
insert into @AA values (2014,45201527)
insert into @AA values (2014,45201528)
insert into @AA values (2014,45201532)
insert into @AA values (2014,45201535)
insert into @AA values (2014,45201536)
insert into @AA values (2013,45070121)
insert into @AA values (2013,45070122)
insert into @AA values (2011,45010022)
insert into @AA values (2011,45010023)
insert into @AA values (2012,48038811)
insert into @AA values (2012,48038815)

 select 年份,case when start_num!=end_num then convert(varchar(20),start_num)+'-'+convert(varchar(20),end_num)   else convert(varchar(20),start_num) end as 票段号,份数 from (
 select years 年份, min(number) as start_num, max(number) as end_num,COUNT(years) as 份数
  from
 (select years, number, number - ROW_NUMBER() over(order by number) as grp
   from @AA) m
  group by grp,years )t
 
 order by 年份,票段号 asc

热心网友 时间:2022-04-11 21:32

sqlserver的写法

select a.year, MIN(a.number) as min_no, MAX(a.number) as max_no, COUNT(1) as cnt
from(
select year, number, (number - ROW_NUMBER() over(order by year asc, number asc)) as cnt
from AA
) a
group by a.year, a.cnt

参考自:http://dodomail.iteye.com/blog/838937

思路是:把数据都从小到大排好序,标上序号,用票号-序号,连续的数字差值相同

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
鲁迅的朋友圈文案100字以上怎么写 谁知道西宁三中 那首海誓山盟的歌词 谢谢 4字2句诗句有诗意韵味 夜感注释译文 请问哪里可以找到《轩辕剑之天之痕》的未删节版?我真的很想看胡歌扮女 ... 轩辕剑之天之痕电视剧没有地方能看啊。谁有网站或者什么的? 不矜不伐反义词有哪些 不矜不伐的反义词 如何用烤箱做饼干,点心? 儿童蛋糕的做法 烤箱 消除腹部多余脂肪做什么运动最有效? 什么运动能减肚子上的赘肉 肚子两边有很多的肉该怎么减? 怎样减掉肚子两边的赘肉 语音视频时怎么和聊友共享QQ音乐 怎么把qq的语音上传到百度云 怎么把qq语音制作成用qq音乐播放的文件呢? 怎么把QQ语音文件转换成可供QQ音乐所使用的文件? 怎样才能把qq里的收藏的语音都保存到qq音乐 怎么转换成mp3呢? 手机qq语音怎么才能和qq音乐同时播放? 怎样QQ语音聊天用qq音乐放歌边放歌边录音? 小云app语音助手怎么连接QQ音乐 打印机驱动安装上了 显示打印错误是怎么回事 创业过程分为四个阶段分别为什么尔雅 创新创业的过程 创业者个人创业策略分为几个步骤 创业者成长分为哪些阶段 创业的基本阶段 创业团队经历的阶段 求解SQLserver自动编号的号数可以设置成,如第一个学生的一卡通号是201701,下面第二个学生的就是02? 怎么样将SQLServer中的时间段拆分成时间点 快速锻炼腹肌和减掉肚子两边的肉? SQLServer的分时间段统计的SQL语句。 肚子上的肉做什么运动减的最快 sqlserver2005中,我有一列是姓名和身份证号码放在一起的,身份证号码有的是15位有的是18位,如何分开来? 肚子两侧的赘肉怎么减,怎么减下来 如何减肚子两侧的肉 求sqlserver查询某个时间段的查询方法 sqlserver查询本月所有不在这个时间段的数据(如 整个四月份不在 7.30... 如何用SQL语句查询SQLserver一个表中某个时间段内所有整点时间的值... SQLSERVER特定时间段查询 SQLServer中,sa帐号旁边有个小红箭头,是什么意思? sql 分类汇总查询语句 sqlserver数据库中一段字符串里面有3个字母c我怎么取到第二个c的位置... sql 中@是什么意思 sqlserver 一段语句在查询分析器中没有问题,在ibatis中执行 说对象名无... sqlserver 查询范围外的交集号 如何让SELECT 查询结果额外增加自动递增序号sqlserver 酒店锁系统详细介绍