mySQL中的GroupBySum?

mySQL中的GroupBySum?,mysql,Mysql,我的表格如下: 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

我的表格如下:

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来实现这一点?多谢各位

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  
您可以尝试上面的查询


您可以尝试上面的查询。

是的,您可以像这样使用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

是的,你可以这样使用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