我的表格如下:
DeviceNumber PayWay Money
000001 A 1
000002 B 2
000001 A 1
000001 B 1.2
000002 A 2.6我想要得到结果:
DeviceNumber Total A B
000001 3.2 2 1.2
000002 4.6 2.6 2有没有什么sql可以做到这一点?非常感谢!
发布于 2017-08-21 15:41:07
是的,你可以像这样使用SUM和CASE
SELECT DeviceNumber,sum(money) as Total,
SUM(
CASE
WHEN PayWay='A' THEN Money ELSE 0
END) as A,
SUM(
CASE
WHEN PayWay='B' THEN Money ELSE 0
END) as B
FROM MyTable
GROUP BY DeviceNumber
ORDER BY DeviceNumber发布于 2017-08-21 15:41:00
SELECT DeviceNumber, SUM(CASE WHEN PayWay='A' THEN Money END) A,
SUM(CASE WHEN PayWay='B' THEN Money END) B,SUM(Money) TOTAL FROM TABLE
GROUP BY DeviceNumber 你可以尝试上面的查询。
https://stackoverflow.com/questions/45791586
复制相似问题