0
GroupName         Name         BucketID AddInd
Test Group 2      Males 0-9    1        12
Test Group 2      Males 10-17  2        12
Test Group 2      Males 18-24  3         1
Test Group 2      Males 18-24  3         4
Test Group 2      Males 25+    4         2
Test Group 3      Males 10-17  2         3
Test Group 3      Males 18-24  3         4
Test Group 3      Males 25+    4         6
Test Youth Group  Males 10-17  2         2
Test Youth Group  Males 18-24  3        12
Test Youth Group  Males 25+    4        NULL

したがって、このデータ (例) から、各グループ内の名前の MAX(AddInd) を取得し、それらのそれぞれを結果に合計する必要があります。

例: テスト グループ 2 には 18 ~ 24 歳の男性が 2 人いるので、MAX の 1 人 (4) だけが必要です。

Test Group 2      Males 18-24  3         1
Test Group 2      Males 18-24  3         4

次に、それと OTHER グループの他のすべての 18 ~ 24 歳の男性を合計する必要があります。

Test Youth Group  Males 18-24  3        12
Test Group 3      Males 18-24  3         4

したがって、私の答えは 4+12+4 の合計である必要があります。

クエリがわかりません。何か案は?

4

1 に答える 1

1

インラインビューを使用して、必要なものを取得できるようです。

SELECT name, 
       Sum (max_addind) 
FROM   (SELECT groupname, 
               name, 
               Max(addind) max_AddInd 
        FROM   groups 
        GROUP  BY groupname, 
                  name) AS t 
GROUP  BY name 

デモ

この出力を生成するもの

|        NAME |          |
--------------------------
|   Males 0-9 |       12 |
| Males 10-17 |       17 |
| Males 18-24 |       20 |
|   Males 25+ |        8 |
于 2013-06-28T18:17:47.730 に答える