转换为pivot表

rsaldnfx  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(198)

编辑:雷蒙德·尼兰德建议,问题就在我这边。我把额外的一组放在最后
,正确的语法是

SELECT 
    bkg.status,
count( if( bkg.status = '1', bkg.bookingId, 0 ) ) AS 'confirmed',
count( if( bkg.status = '2', bkg.bookingId, 0 ) ) AS 'Tentative'
FROM 
    tbl_booking bkg

谢谢
我有这样一个表的表数据

我有个问题

select bkg.status,
count(bkg.status) from tbl_booking bkg
GROUP BY 
    bkg.status;

这就产生了这样的结果

我想把它转换成pivot格式
就像

1 | 2 | 3 | 4
21| 57| 7 | 14

我试过了

SELECT 
    bkg.status,
count( if( bkg.status = '1', bkg.bookingId, 0 ) ) AS 'confirmed',
count( if( bkg.status = '2', bkg.bookingId, 0 ) ) AS 'Tentative'
FROM 
    tbl_booking bkg
GROUP BY 
    bkg.status;

但这给了我这样的结果

如果我试着按不同的列(如预订id)分组,结果会更不一样。我对sum中的哪一列和group by中的哪一列感到困惑
请建议

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题