1

基本的に次のテーブルがあります。

person  activity-code  activity-value

複数の活動コード (約 17 個) と 1 人あたりの活動値があります。例:

A  1   10
A  1   12
A  2   4
B  1   5
B  2   3
B  2   8

私が欲しいのは、次のようなものを返す select ステートメントです。

A   22 4
B   5  11

したがって、最初の列person. 2番目の列は、その人のすべての合計ですactivity-values for the activity-code 1。3 番目のは、その人のすべての合計ですactivity-values for the activity-code 2。等...

最後に、合計をファイルにダンプしてExcelファイルにインポートしたいので、これを実行してそこでOUTFILEコマンドを使用したいと思います。

どこかにサブクエリがあるようですが、私はそれを理解するのに十分なほど進んでいません。

どんな助けでも大歓迎です。それが役立つ場合は、詳細を追加できます。

4

1 に答える 1

2

残念なことに、Mysql にはpivot他のデータベースに存在するコマンドがないため、この種のことは簡単なことです。あなたは次のようなもので立ち往生しています

 select
      person,
      sum(case activitycode when 1 then activityvalue else 0 end),
      sum(case activitycode when 2 then activityvalue else 0 end),
      ....
 from 
      yourtable
 group by
      person
于 2012-09-29T14:37:27.270 に答える