2016-05-24 11 views
-1

私は添付の画像に示すようにテーブル#1を持っています。最初に、私はすべての別個のIDのすべての量を合計したいと思います。次に、同じ数量のIDの数を表示します。SQL Server 2008 R2の1つのクエリでdistinctとSumを実行する方法

enter image description here

+0

一時テーブルを作成した後、このいずれかを試してみてください表示するあなたは私に総イドと第二のテーブルの関係を説明することはできますか?私は理解するのに苦労しています – NemanjaT

+0

@ネマンジャTとは関係ありません。実際には1つのテーブルしか存在しません。 –

+0

フェリックスの答えを見て、私が思いついた質問は彼とほぼ同じです。 – NemanjaT

答えて

1

同じ量を持っているIDの数が

create table #Temp 
(
    id int, 
    qty int 
) 

Insert Into #Temp 
SELECT id, SUM(qty) 
     FROM yourTable 
     group by id 

SELECT * FROM #Temp 

SELECT Count(id) , qty 
     FROM #Temp 
     GROUP BY qty 
     ORDER BY qty DESC 
6

使用SUMCOUNT

SELECT 
    COUNT(*) AS totalId, 
    qty 
FROM (
    SELECT 
     id, SUM(qty) AS qty 
    FROM tbl 
    GROUP BY id 
)t 
GROUP BY qty 

ONLINE DEMO

+0

これは '1289002' 1 ' –

+0

クエリは良いですが、それはあなたを悩ましている別のものでなければなりません。 – NemanjaT

+0

彼の質問に問題があります。それはテーブル1から直接戻っているだけです。私はidのために最初に追加したいのですが、私たちはテーブル1から1を言いましょう。そして再びidの数量がidのものを確認したい1 –

0

全て異なるIDの全ての量の合計を示す:

SELECT count(id),quantity FROM (SELECT id,SUM(qty) AS quantity FROM table GROUP BY id) GROUP BY quantity 
+0

これは、@FelixPamittanが15分早く書いたのと同じ回答です。 – dnoeth

+0

@dnoeth、それはそうではありません。私は表1のSUMにしたいので、表2のような結果を得たいと思っています。次に表2から、必要な表のような結果を得たいです –

関連する問題