我有以下疑问:
SELECT *, COUNT(id) AS number_of_orders
FROM orders
WHERE MONTH(date) = 5
GROUP BY item_number, MONTH(date), YEAR(date);
我得到如下结果:
id | item_number | date | number_of_orders
1 | 4 | 2022-05-15 | 1
2 | 43 | 2021-05-15 | 2
3 | 43 | 2022-05-15 | 2
4 | 51 | 2021-05-15 | 3
5 | 51 | 2022-05-15 | 3
6 | 51 | 2020-05-15 | 3
我需要得到每个特定月份每个项目的平均订单数。在这种情况下,它是五月(05)。
5月份每个项目#4的平均值为1
在五月份,每个项目#43的平均值为2
5月份每个项目#51的平均值为1
原始数据与上面的基本相同,不确定是否需要先执行COUNT
步骤:
id | item_number | date |
1 | 4 | 2022-05-15 |
2 | 43 | 2021-05-15 |
3 | 43 | 2022-05-15 |
4 | 51 | 2021-05-15 |
5 | 51 | 2022-05-15 |
6 | 51 | 2019-08-15 |
1条答案
按热度按时间ilmyapht1#
您可以始终只将第一个查询用作子查询,然后进一步聚合其结果
已编辑以使用正确的SQL分组