我有一张这样的表
TYPE AMOUNT
purc 100
sale 120
sale 80
purc 150
sale 50
sale 70
sale 120
purc 60
当我运行此查询时“选择类型,总和(AMOUNT)作为MyTable GROUP的数量类型” 我可以获得2个结果集,如
TYPE AMOUNT
purc 310
sale 440
但我想在一个查询中仅将单个结果用于销售和purc,如
SALE PURC PROFIT
440 310 130
那个单一查询是什么?
答案 0 :(得分:5)
试试这个:
SELECT
SUM(IF(`TYPE` = 'purc', `AMOUNT`, 0)) as `PURC`,
SUM(IF(`TYPE` = 'sale', `AMOUNT`, 0)) as `SALE`
FROM `MyTable`
这应该在您的桌面上执行所谓的旋转。
使用CASE
代替IF
:
SELECT
SUM(CASE `TYPE` WHEN 'purc' THEN `AMOUNT` ELSE 0 END) as `PURC`,
SUM(CASE `TYPE` WHEN 'sale' THEN `AMOUNT` ELSE 0 END) as `SALE`
FROM `MyTable`