求一个sql

susu525458 2013-04-17 02:11:18
有如下一个表:
类型 机构 印刷号
w 1 1
w 1 2
w 1 3
w 1 6
w 1 8
w 1 9
w 2 3
w 2 4
w 2 7
s 1 2
s 1 4

希望达到如下效果:
类型 机构 最小印刷号 最大印刷号 数量
w 1 1 3 3
w 1 6 6 1
w 1 8 9 2
w 小计 6
w 2 3 4 2
w 2 7 7 1
w 小计 3
s 1 2 2 1
s 1 4 4 1
s 小计 2
总计 11

即同一个类型,同一个机构下,列出连续印刷号中最大的印刷号和最小的印刷号,计算数量,不连续的印刷号单独计算数量
...全文
182 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sych888 2013-04-22
  • 打赏
  • 举报
回复
应该可以用分析函数来实现
宋哥 2013-04-17
  • 打赏
  • 举报
回复

select lx,jg,rownum-ysh,min(ysh),max(ysh),count(*) from tb
group by lx,jg,rownum-ysh,min(ysh)
宋哥 2013-04-17
  • 打赏
  • 举报
回复
可以利用印刷号和rownum之差作为分组条件,当印刷号为连续时,这个差值是恒定的,不过要先排序。
宋哥 2013-04-17
  • 打赏
  • 举报
回复
嗯,连续和不连续的判断不太好弄。
睿智天成 2013-04-17
  • 打赏
  • 举报
回复
不晓得如何进行连续和不连续的判断,等待高手解决,学习一下,帮顶!

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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