在Report开发中,常需要将Total放最后,其它项则按其它排序方式(一般按正常的升序),可看作同一列有两种排序方式,怎么写
时间: 2024-02-27 09:52:26 浏览: 97
EBS REPORT开发
在Report开发中,可以使用PL/SQL中的DECODE函数实现同一列的两种排序方式。DECODE函数的基本语法如下:
```
DECODE(expression, search1, result1, search2, result2, ..., default)
```
其中,expression是要进行比较的表达式,search1, search2, ...是要比较的值,result1, result2, ...是对应的结果,default是当expression不等于search1, search2, ...时的默认结果。
例如,假设有一个表存储销售信息,需要按照销售额的升序排序,但是将总销售额放在最后一行,可以使用以下SQL语句:
```
SELECT salesperson, SUM(amount)
FROM sales
GROUP BY salesperson
ORDER BY DECODE(salesperson, 'Total', 2, 1), SUM(amount);
```
在上述SQL语句中,使用DECODE函数判断salesperson是否为'Total',如果是,则返回2,否则返回1。然后将这个结果作为第一排序条件,将销售额作为第二排序条件,就可以实现将Total放在最后的效果了。
阅读全文