私はこのようなテーブルを持っています:
Alternative |Total |Male |Female
a |20 |10 |10
b |50 |20 |30
c |40 |10 |30
c |30 |15 |15
ここで、グループ化するすべての行と「c」の選択肢を選択します。
SELECT Alternative, Sum(Total), Sum(Male), Sum(Female)
FROM table1
GROUP BY Alternative
これで十分です
SELECT Alternative, [Total] = SUM(Total), [Male] = SUM(Male), [Female] = SUM(Female)
FROM YourTable
GROUP BY Alternative
を使用group by
してグループ化を決定し、適切な集計を使用して他のフィールドを処理します。sum
この場合、各グループに値を追加するために使用したいと思います。
select
Alternative, sum(Total) as Total, sum(Male) as Male, sum(Female) as Female
from
TheTable
group by
Alternative
order by
Alternative
次のクエリは、「c」ではないすべての行を選択し、「c」であるすべての行をグループ化し、それらの値を合計して、「c」の合計を表す単一の行を追加します。それがあなたの言いたいことだと思います。
SELECT *
FROM table1
WHERE Alternative != c
UNION
SELECT Alternative, Sum(Total) as Total, Sum(Male) as Male, Sum(Female) as Female
FROM table1
WHERE Alternative = c
GROUP BY Alternative
複数の「代替」外観を持つものをグループ化したいだけの場合は、次を使用します。
SELECT Alternative, Sum(Total) as Total, Sum(Male) as Male, Sum(Female) as Female
FROM table1
GROUP BY Alternative