你可以使用 MySQL 的 GROUP BY
和 MONTH
函数来实现这个功能。
例如,你可以使用以下查询来获取各市在每年的 1 月到 12 月的订单数量:
SELECT city, YEAR(order_date) AS year, MONTH(order_date) AS month, COUNT(*) AS num_orders
FROM orders
GROUP BY city, year, month
ORDER BY city, year, month;
这个查询会返回每个城市每年每个月的订单数量。例如,如果你有订单数据从 2020 年 1 月到 2021 年 2 月,查询结果可能会是这样的:
city year month num_orders---------- ------ ------ ------------
Beijing 2020 1 100
Beijing 2020 2 120
Beijing 2020 3 150
...
Shanghai 2020 1 50
Shanghai 2020 2 60
Shanghai 2020 3 70
...
请注意,上面的查询假设订单表有 city
和 order_date
列,并且订单日期已经存储为 MySQL 的 DATE
类型。