首页 > 数据库技术 > 详细

数据库行转列在现实需求中的用法

时间:2016-11-19 12:12:05      阅读:282      评论:0      收藏:0      [点我收藏+]

 

技术分享

select t.客户姓名,sum(case when t.收款类型=首款 then t.金额 else 0 end as 首款),sum(case when t.收款类型=尾款 then t.金额 else 0 end as 尾款) from table t
group by t.客户姓名

这段sql的意思 是 查询出所有客户收款信息 然后按客户分组    分组后  然后将这个客户的所有首款的金额放在一组 然后聚合 组成首款字段   所有尾款金额 放在一组 然后sum 聚合 组成尾款字段

最终查出 

技术分享

统计的时候 或者 做运算的时候非常有用

 

 

 

如果需要列转行 可以使用union方式 比如我们上面这个表

select t.客户姓名,t.首款 from table t where type=‘首款‘
union 
select t.客户姓名,t.尾款 from table t where type=‘尾款‘

 

数据库行转列在现实需求中的用法

原文:http://www.cnblogs.com/LQBlog/p/6079969.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!