分组的问题,您请看看。。。

love7 2003-10-10 02:30:14
说明一下,该问题先在ORACLE版块中问了,但那边人气没这边旺。
decode是一个选择函数。

select
decode(substr(t0.cag_no,1,1),1,'ab',2,'cd',3,'ef') 分类,
cag_na 名称,
sum(...) 数量
from tabele t0
group by substr(t0.cag_no,1,1),cag_na

显示如下 注:cast_no的值为1023,1024,2034,3023等等。

分类 名称 数量
ab test1 3
ab test2 1
ab test3 5
cd test7 10
cd test9 3
ef test4 2
ef test8 8

现在希望显示如下的结果。解决了立即给分。谢谢。

分类 名称 数量
ab test1 3
test2 1
test3 5
cd test7 10
test9 3
ef test4 2
test8 8
...全文
44 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-10-10
  • 打赏
  • 举报
回复
前台处理更容易,
如果一定要在数据库中处理,可以用类似下面的方法(SQL SERVER中的处理)

--将结果生成临时表:
select id=identity(int,1,1), --增加标识列
decode(substr(t0.cag_no,1,1),1,'ab',2,'cd',3,'ef') 分类,
cag_na 名称,
sum(...) 数量
into #tb --查询结果生成临时表
from tabele t0
group by substr(t0.cag_no,1,1),cag_na

--从临时表中再次查询,得到想要的效果
select 分类=case id when (select min(id) from #tb where 分类=a.分类) then 分类 else '' end,名称,数量
from #tb a

--查询后删除临时表
drop table #tb
love7 2003-10-10
  • 打赏
  • 举报
回复
不好意思,不明白。楼上兄弟能否写一下?谢谢
mengxianbao1521 2003-10-10
  • 打赏
  • 举报
回复
把显示的结果在嵌套select 一层 按 分类分组不就可以了吗??

34,875

社区成员

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

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