2017-03-10 6 views
1

私はこれらのアイテムを保持している1台複数の列のレコードを集計し、同時に1つに明確に選択するにはどうすればよいですか?

Column_1 | Column_2 | Column_3 | Column_4 
------------------------------------------ 
John1  1   1   2   
John1  3   2   2  
John1  2   3   2  
Eric   4   2   2 
Eric   4   7   2  
Christina 1   2   2 
Christina 1   2   3 

私はカップルの事をしたいがあります。

1)私はCOLUMN_1中のすべてのレコードを取得したいが、私はしたくないし名前を繰り返すたとえば、私はこれを達成するSELECT DISTINCT Column_1 FROM MyTableを行うことができます知っています。その見返りに、私はなります:John1、エリック、クリスティーナ

2)また、私は私がこれをacheiveなるSELECT SUM(Column_2) FROM (SELECT * FROM MyTable where Column_1 = John1) AS p1によって行うことができます知っている各列の合計を追加します。その見返りに、私はなります:COLUMN_1は、上記のように、一定の基準に等しい

3)私もColumn_3Column_4のために同じことをやりたいです。

問題:どのように私は1クエリにこれらのクエリの3つすべてを実現できることも可能ということでしょうか?

私の最終的な結果は次のようになります。

John1  6 6 6 
Eric  8 9 4 
Christina 2 4 5 

答えて

3

あなたが集計したいgroup by Column1sum()列を使用してこれを行うことができます。

select 
    Column_1 
    , sum(Column_2) as sumColumn_2 
    , sum(Column_3) as sumColumn_3 
    , sum(Column_4) as sumColumn_4 
from t 
group by Column_1 

rextesterデモ:http://rextester.com/XACANR1610

リターン:

+-----------+-------------+-------------+-------------+ 
| Column_1 | sumColumn_2 | sumColumn_3 | sumColumn_4 | 
+-----------+-------------+-------------+-------------+ 
| Christina |   2 |   4 |   5 | 
| Eric  |   8 |   9 |   4 | 
| John1  |   6 |   6 |   6 | 
+-----------+-------------+-------------+-------------+ 
+0

あなたの先生は、命の恩人です。 – Yusha

+0

@Yushaお手伝いします! – SqlZim

関連する問題