001、mysql行转列,列转行

mysql查询结果横表,纵表数据转换

1. 横表 --> 纵表

union all
https://blog.51cto.com/u_16175507/9832364
https://blog.51cto.com/u_16175522/9518511

2. 纵表 --> 横表

https://blog.csdn.net/qq_46414039/article/details/132120660
在这里插入图片描述

纵表数据

-- 纵表数据
SELECT
        
    b.app_id AS app_id,
    b.env AS env,
    COUNT(b.id) AS COUNT
    
FROM assembler.app_version b
INNER JOIN app a ON a.is_delete =0 AND a.id = b.app_id
WHERE b.is_delete =0
/**/
AND b.app_id IN
(
        1640596419670708225,
        1684372201690222593                        
)

GROUP BY b.`app_id`,b.env

在这里插入图片描述

横表数据

-- 横表数据
SELECT

        aa.`app_id`,
        SUM(CASE aa.env WHEN 'sit' THEN aa.count ELSE 0 END) AS 'sit',
        SUM(CASE aa.env WHEN 'uat' THEN aa.count ELSE 0 END) AS 'uat',
        SUM(CASE aa.env WHEN 'pre' THEN aa.count ELSE 0 END) AS 'pre',
        SUM(CASE aa.env WHEN 'prod' THEN aa.count ELSE 0 END) AS 'prod'

FROM 
(

        SELECT
        
            b.app_id AS app_id,
            b.env AS env,
            COUNT(b.id) AS COUNT
            
        FROM assembler.app_version b
        INNER JOIN app a ON a.is_delete =0 AND a.id = b.app_id
        WHERE b.is_delete =0
        /**/
        AND b.app_id IN
        (
                1640596419670708225,
                1684372201690222593                        
        )
        
        GROUP BY b.`app_id`,b.env
        
) AS aa        
GROUP BY aa.`app_id`
 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟空编程2016

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值