1

我有一张桌子,基本上有:

person  activity-code  activity-value

每人有多个活动代码(大约 17 个)和活动值。例如:

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

我想要的是一个返回如下内容的选择语句:

A   22 4
B   5  11

所以第一列person. 第二是那个人的总和activity-values for the activity-code 1。第三是那个人的总和activity-values for the activity-code 2。ETC...

最后,我想这样做并在其中使用 OUTFILE 命令,因为我想将总数转储到要导入到 excel 文件中的文件中。

似乎那里有一个子查询,但我还不够先进,无法弄清楚。

任何帮助将不胜感激。如果这会有所帮助,我可以添加细节。

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 回答