zoukankan      html  css  js  c++  java
  • mysql行转列(多行转一列)

    场景

      比如说一个订单对应多条数据,当状态(status)=1的时候,  数量(num)=25,当状态(status)=2的时候,  数量(num)=45,现在想用一条sql记录下不同状态对应的数量为多少,如下图所示:

      

      期待结果->

      

    sql语句示例 

    SELECT trades_id,
    MAX(CASE WHEN apply_status=1 THEN pay_change ELSE 0 END) 'num_status1',
    MAX(CASE WHEN apply_status=2 THEN pay_change ELSE 0 END) 'num_status2'
    FROM b_balance_detail
    WHERE site_id=100190 
    AND apply_status!=4 AND trades_id = 1001901531475622312 
    //上述sql是查询了一个订单的情况,当多个时应当加个group by进行分组查询 如下:
    SELECT trades_id,
    MAX(CASE WHEN apply_status=1 THEN pay_change ELSE 0 END) 'num_status1',
    MAX(CASE WHEN apply_status=2 THEN pay_change ELSE 0 END) 'num_status2'
    FROM b_balance_detail 
    group by trades_id
    

      

  • 相关阅读:
    javascript之instanceof原理
    x86之描述符表寄存器
    Mac之DTerm
    C的一些特性
    Mac i386 Operands and Addressing Modes
    shell之条件测试
    linux之dup&dup2
    javascript之this
    x86之段描述符
    进制转换
  • 原文地址:https://www.cnblogs.com/chenpt/p/9316854.html
Copyright © 2011-2022 走看看