实际——如何给SQL查询添加合计行(sqlserver2008。但是db2的case when 语句end后不能添加其他字段)
2014-12-17 14:10
615 查看
文章来源:http://database.51cto.com/art/201009/227645_2.htm
由于要统计合计以及小计,不能简单的用nvl来产生"合计"了,要用grouping函数,来判断者某行是否有rollup产生的合计行,
注意,grouping(emp_id)=1,说明是有rollup函数生成的行,0为数据库本身有的行。
由于要统计合计以及小计,不能简单的用nvl来产生"合计"了,要用grouping函数,来判断者某行是否有rollup产生的合计行,
select case when grouping(emp_id)=1 and grouping(product_id)=1 then '合计' else emp_id end emp_id, case when grouping(emp_id)=0 and grouping(product_id)=1 then '小计' else procudt_id end product_id, sum(qty) qty from t_test group by rollup(emp_id,product_id)
注意,grouping(emp_id)=1,说明是有rollup函数生成的行,0为数据库本身有的行。
相关文章推荐
- oracle如何根据一个字段的结果判断另外一个字段?(CASE WHEN THEN ELSE END语句)
- mysql sql语句查询时给某个空字段赋值case ... when ...
- 用SQL语句添加删除修改字段和一些其他基本操作------阿冬专栏
- case when then...else end sql 语句用法
- 给数据库字段添加注释,并且可以通过sql语句查询
- SQL多表查询与case when .. else .. end as ..,group by.. having
- 如何用SQL语句,查询数据库(日期+时间字段)中等于某一天的记录
- 转载:如何写个SQL语句查询一个字段里是否有重复记录如果有只读取其中一条记录
- Sql语句-case when then else end
- sql语句 case when then else end 语句实例
- Sql语句-case when then else end
- 用sql语句如何给字段添加和去掉identity属性
- sql语句中的判断语句case when else end
- 给数据库字段添加注释,并且可以通过sql语句查询
- 当执行SQL(ORACLE)时判段另一个字段的值去执行不同SQL,及 CASE WHEN 语句的使用
- 如何替换掉日期类型值为空时的默认日期? SQL语句Replace的应用和Case when 的用法。
- MSSQL中如何用SQL语句查询字段类型?
- 给数据库字段添加注释,并且可以通过sql语句查询
- db2使用sql语句查询表的字段类型
- SQL数据库查询实现行转列与列转行结果SQL语句(适用于SqlServer数据库,oracle需要修改case when语句)