编辑:雷蒙德·尼兰德建议,问题就在我这边。我把额外的一组放在最后
,正确的语法是
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中的哪一列感到困惑
请建议
暂无答案!
目前还没有任何答案,快来回答吧!