【发布时间】:2020-01-12 05:17:13
【问题描述】:
我想计算每个商店每月创建的平均潜在客户数量(行)。
架构和输入:
CREATE TABLE leads
(`id` int, `store_id` int, `created_at` datetime)
;
INSERT INTO leads
(`id`, `store_id`, `created_at`)
VALUES
(5211, 1, '2019-09-13 23:29:29'),
(5212, 1, '2019-08-13 21:29:29'),
(5781, 1, '2019-08-16 21:29:29'),
(3349, 5, '2019-10-16 23:29:29'),
(3344, 5, '2019-10-16 23:29:29'),
(6291, 8, '2019-08-14 21:29:29'),
(6292, 8, '2019-08-14 22:29:29'),
(6299, 8, '2019-08-14 11:29:29'),
(7799, 8, '2019-10-16 23:29:29'),
(9898, 8, '2019-08-13 23:29:29'),
(7791, 8, '2019-10-16 23:29:29'),
(7792, 8, '2019-10-16 23:29:29'),
(7793, 8, '2019-10-16 23:29:29'),
(7794, 8, '2019-10-16 23:29:29'),
(7795, 8, '2019-10-16 23:29:29')
;
所需的输出:
average_leads_per_month_per_store, month_name
3, 2018-08
1, 2018-09
4, 2018-10
我尝试过的:
SELECT COUNT(id) AS leads_count, DATE_FORMAT(created_at, "%Y-%m") month_name, store_id, created_at
FROM leads
GROUP BY month_name, store_id
ORDER BY month_name, store_id;
| leads_count | month_name | store_id | created_at |
|-------------|------------|----------|----------------------|
| 2 | 2019-08 | 1 | 2019-08-13T21:29:29Z |
| 4 | 2019-08 | 8 | 2019-08-14T21:29:29Z |
| 1 | 2019-09 | 1 | 2019-09-13T23:29:29Z |
| 2 | 2019-10 | 5 | 2019-10-16T23:29:29Z |
| 6 | 2019-10 | 8 | 2019-10-16T23:29:29Z |
这按年月和商店分组,现在我需要计算商店每个月的平均值。
【问题讨论】:
-
如果商店在特定月份没有潜在客户怎么办?是忽略还是算作
0? -
应该算@GordonLinoff。