MySQL行转列,运用case这个函数来实现

版权声明:拿的时候你得告诉我一声~ https://blog.csdn.net/xiaohuoche175/article/details/85236931
SELECT date(pa.post_time),"人数",
COUNT(case when pa.sum>0 and pa.sum <18 then pa.pay_user end) as a,
COUNT(case when pa.sum>=18 and pa.sum <30 then pa.pay_user end) as b,
COUNT(case when pa.sum>=30 and pa.sum <68 then pa.pay_user end)as c,
COUNT(case when pa.sum>=68 and pa.sum <128 then pa.pay_user end) as d,
COUNT(case when pa.sum>=128 and pa.sum <198 then pa.pay_user end) as e,
COUNT(case when pa.sum>=198 and pa.sum <328 then pa.pay_user end) as f,
COUNT(case when pa.sum>=328 and pa.sum <648 then pa.pay_user end) as g,
COUNT(case when pa.sum>=648 then pa.pay_user end) as h,
count(pa.pay_user)
from
(select post_time,server_id,channel_id,pay_user,sum(post_amount)as sum from pay_action GROUP BY date(post_time),pay_user) as pa
GROUP BY date(pa.post_time)

猜你喜欢

转载自blog.csdn.net/xiaohuoche175/article/details/85236931
今日推荐