求SQL语句,或是存过程用游标也可以[比较的难]欢迎高手进来指点

RxitRose 2003-12-25 09:47:15
有一张表A如下字段
号码ID,单位id,状态

其中号码ID 是有规律的,它肯定是从第一个号到20个号是连续的也就是一段一段的
1-20,21-40,41-60,81-100
但表中是这样显示的比如
号码ID 单位id 状态
1 1 0
2 1 0
. . .
20 1 0
21 2 0
. . .
40 2 0
41 3 0
. . .
60 3 0
81 4 0
. . .
100 4 0
---------------------------------------
我想得到的结果是
开始号码 结束号码 单位id 状态
1 20 1 0
21 40 2 0
41 61 3 0
81 100 4 0
-------------------------------------
是每格20个为一组的
用SQL语句能办到吗?
求SQL语句,或是存过程用游标也可以
...全文
31 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
RxitRose 2003-12-25
  • 打赏
  • 举报
回复
各位兄弟谢谢你们的精彩的SQL语句,但现在发生了变化
就是说所有的记录中的单位和状态都是一样的
记录如下
1-20
22-25
26-80
80-81
83-100
.............
就是说记录号是连续的就为一组
ghosthjt 2003-12-25
  • 打赏
  • 举报
回复
select min(号码ID) as 开始号,max(号码ID) as 结束号,单位,状态 from 表A group by 单位,状态
sunpower99 2003-12-25
  • 打赏
  • 举报
回复
--分组即可

select min(号码ID) as '开始号码',max(号码ID)as '结束号码',单位id,状态 from 表A
group by 单位id,状态
victorycyz 2003-12-25
  • 打赏
  • 举报
回复
状态一栏全都一样?
shuiniu 2003-12-25
  • 打赏
  • 举报
回复
--这样
declare @tablea table (号码 int,单位 int ,状态 int)
insert @Tablea values(1,1,0)
insert @Tablea values(20,1,0)
insert @Tablea values(21,2,0)
insert @Tablea values(40,2,0)
insert @Tablea values(41,3,0)
insert @Tablea values(60,3,0)
insert @Tablea values(61,4,0)
insert @Tablea values(80,4,0)
insert @Tablea values(81,5,0)
insert @Tablea values(100,5,0)


select min(号码) 开始号码,max(号码) 结束号码,单位,状态
from @tablea
group by 单位,状态

/*
开始号码 结束号码 单位 状态
----------- ----------- ----------- -----------
1 20 1 0
21 40 2 0
41 60 3 0
61 80 4 0
81 100 5 0

(所影响的行数为 5 行)
*/
RxitRose 2003-12-25
  • 打赏
  • 举报
回复
我想得到的结果是
开始号码 结束号码 单位id 状态
1 20 1 0
21 40 2 0
41 61 3 0
81 100 4 0
-------------------------------------
是每格20个为一组的
用SQL语句能办到吗?
求SQL语句,或是存过程用游标也可以

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧