假设我有一个如下表,该如何按工作编号和工作中心来汇总“每周”列。
+-----------+------------+---------------+--------+-----------------
| Job | Work_Date | Work_Center | Budget | Weekly |
+-----------+------------+---------------+--------+------+----------
| 5666 | 2014-02-23 | SURFACE | 155 | 5 |
| 5666 | 2014-02-23 | SURFACE | 155 | 3 |
| 5666 | 2014-02-23 | DESIGN | 200 | 6 |
+-----------+------------+---------------+----------+--------------+
变成:
+-----------+------------+---------------+--------+-----------------
| Job | Work_Date | Work_Center | Budget | Weekly |
+-----------+------------+---------------+--------+------+----------
| 5666 | 2014-02-23 | SURFACE | 155 | 8 |
| 5666 | 2014-02-23 | DESIGN | 200 | 6 |
+-----------+------------+---------------+----------+--------------+
编辑
好吧,每周工作完美!但是,我遇到的一个问题是获取预算的总和。通常,对于每个Work_Center,该特定Job AFAIK的预算都保持不变。但是,有一件遗失的东西。一个数字被添加到预算中,因此,以Job 5666的预算为例,在我的Crystal Report中,它给了我172而不是155。所以我做了进一步的挖掘,结果发现它没有像第一个那样添加重复的预算。表,但如果不是重复值(根据我的理解),它将添加一个值。
所以我找到了这一行。
+-----------+------------+---------------+--------+-----------------
| Job | Work_Date | Work_Center | Budget | Weekly |
+-----------+------------+---------------+--------+------+----------
| 5666-8 | NULL | SURFACE | 17 | 0 |
+-----------+------------+---------------+----------+--------------+
现在,如果我想将此值添加到预算中,那么当我尝试下面提供的SQL答案时,它将无法正常工作。我试过修剪工作号,所以它只说5666,所以看到工作号中有一个匹配项,它将预算加在一起,但这也不起作用。
我希望我的解释会更清楚。
最佳答案
只需将结果分组并汇总Weekly
列:
SELECT Job, Work_Date, Work_Center, Budget, SUM(Weekly)
FROM your_table
GROUP BY Work_Center, Job;
关于mysql - 汇总具有相同ID/职位编号的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22102618/