各位大侠:
oracle中有字段project,不管有多少条记录,当值为“合计”时都放置在最下面,应如何排序?
记录条数是根据查询条件实时变化的。
感激不尽,在线等! oracle排序
oracle中有字段project,不管有多少条记录,当值为“合计”时都放置在最下面,应如何排序?
记录条数是根据查询条件实时变化的。
感激不尽,在线等! oracle排序
解决方案 »
- 有没有oracle11g的操作手册
- 小弟有个sql不明,请大虾指教,
- v$sql v$sqltext v$sqlarea 中,无法看到刚才执行过的sql语句?
- oracle 索引问题!求解!求帮助!!
- 请教1行转多行的问题,多谢
- create table问题(小妹刚刚学习oracle,望各位多指教)
- oracal sequence 在jsp中的问题
- 创建新的ORACLE数据库时,进行到39%的ORACLE JVM的时候报错
- 现遇问题(linux下oracle9i安装)如下,帮偶看看,谢过!!!
- 授权问题!
- 求助:关于oracle11g中lis-range组合分区表的split问题
- 求分组语句,在线等
order by case project
when '合计' then 0 end desc;
1基建项目
基建项目小计
2城建项目
城建项目小计
项目
项目小计
合计
想达到如上效果,
order by case project
when '合计' then 0 end desc;
是可以让合计在最下面,可是别的project就会乱掉了,
希望是按project排序后,合计在最后
select 字段
from tab_1
where 字段project <> “合计”
union all
select 字段
from tab_1
where 字段project = “合计”
这些值本来就是union起来的 分三部分 project, project||小计, 合计
那你改成
order by case project
when '合计' then 9999 end 这样你应该不可能会有9999个吧!这样应该在最后面了!
那好像就更容易了啊,把union换成union all 应该就可以了吧。但是有一点要注意,你的业务上有没有重复数据,union all是不能去掉重复行的。union和union all的区别如下:Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All,对两个结果集进行并集操作,包括重复行,不进行排序;
先把值为合计的行放到下面,再按项目排序。