2

多くの販売を担当し、部門に所属する従業員がいます。ある部門の 1 日あたりの売り上げを知りたいです。

簡単にするために、従業員が 1 つの部門だけに属しているとします。

例:

部門:

| id | name            |
| 1  | Men's Fashion   |
| 2  | Women's Fashion |

労働者:

| id  | name   |
| 1   | Timmy  |
| 2   | Sally  |
| 3   | Johnny |

販売:

| id  |  worker_id | datetime          | amount |
| 1   |  1         | 2013-1-1 08:00:00 |  1     |
| 2   |  1         | 2013-1-1 09:00:00 |  3     |
| 3   |  3         | 2013-1-2 08:00:00 |  8     |

department_employees

| id | worker_id | department_id |
| 1  |   1       |    1          |
| 2  |   2       |    1          |
| 3  |   3       |    2          |

手に入れたい

|  department     | amount |
| Men's Fashion   | 4      |
| Women's Fashion | 8      |

個々の従業員の総売上を取得するには、次のようにします。

SELECT worker_id, SUM(amount) FROM sales
GROUP BY worker_id

これらの合計 (従業員 1 人あたりの総売上高) を部門ごとに集計するにはどうすればよいですか?

4

2 に答える 2

3

合計を合計するのではなく、sales から department_employees テーブルを介して部門に結合します。

select d.name, sum(s.amount)
from sales s
join department_employees de on de.worker_id = s.worker_id
join departments d on d.id = de.department_id
group by d.name
于 2013-07-09T14:54:13.807 に答える