mysql行转列

如何把用户id为12的信息金额转为一行。解决方法如下sql:MAX即可。

select

                     ab.ab_ub_id,

                     now(),

                     MAX(CASE WHEN ab.ab_type = '00' THEN ab.ab_balance else 0 end) as dus_assets_balance,

                     MAX(CASE WHEN ab.ab_type = '01' THEN ab.ab_balance else 0 end) as dus_assets_freeze_balance,

                     MAX(CASE WHEN ab.ab_type = '02' THEN ab.ab_balance else 0 end) as dus_currency_balance,

                     MAX(CASE WHEN ab.ab_type = '03' THEN ab.ab_balance else 0 end) as dus_currency_freeze_balance,

                     'admin',

                     now()

              from useraccount.account_base ab

        where ab.ab_status='01'

              and ab.ab_dr = '0'

              group by ab.ab_ub_id

 

原文地址:https://www.cnblogs.com/SmileWindy/p/9101236.html