2017-08-21 15 views
0

マイテーブル:Groupby in 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 
    000002  4.6 2.6 2 

これを達成するために、任意のSQLはありますか?どうもありがとうございました!

答えて

1

はい、あなたはこの

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を使用することができます
1
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 

上記のクエリを試すことができます。

関連する問題