首页 > 代码库 > 数据库行转列在现实需求中的用法
数据库行转列在现实需求中的用法
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=‘尾款‘
数据库行转列在现实需求中的用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。