You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL技术需求:按周分组统计指定时段订单数并生成Excel报表

按年份筛选并按周统计订单量的SQL方案

嘿,我来帮你搞定这个按周统计订单的需求!不用怕SQL不精通,我把步骤拆得明明白白,你直接套用就行~

核心思路

我们需要从Orders表中:

  • 筛选出指定年份的订单
  • 把订单按周分组
  • 统计每组的订单数量

适配不同数据库的SQL语句

不同数据库的周计算函数略有差异,我给你列几个常用的:

1. MySQL/MariaDB

这里用YEARWEEK()函数可以同时获取年份和周数(避免跨年周的混淆),如果需要指定周起始日(比如周一为一周开始),可以加参数1:

SELECT
  YEARWEEK(OrderDate, 1) AS year_week, -- 格式为YYYYWW,比如202401代表2024年第1周
  DATE_FORMAT(MIN(OrderDate), '%Y-%m-%d') AS week_start_date, -- 显示该周的起始日期(可选)
  COUNT(OrderId) AS order_count
FROM Orders
WHERE YEAR(OrderDate) = 2024 -- 这里替换成用户选择的年份
GROUP BY year_week
ORDER BY year_week;

如果想更直观显示周范围,可以把week_start_date和DATE_FORMAT(MAX(OrderDate), '%Y-%m-%d') AS week_end_date加上。

2. SQL Server

用DATEPART(WK, OrderDate)获取周数,配合年份筛选:

SELECT
  CONCAT(YEAR(OrderDate), RIGHT('0' + CAST(DATEPART(WK, OrderDate) AS VARCHAR), 2)) AS year_week,
  DATEADD(DAY, 1 - DATEPART(WEEKDAY, OrderDate), MIN(OrderDate)) AS week_start_date, -- 周一为起始日
  COUNT(OrderId) AS order_count
FROM Orders
WHERE YEAR(OrderDate) = 2024 -- 替换为目标年份
GROUP BY YEAR(OrderDate), DATEPART(WK, OrderDate)
ORDER BY year_week;

注意:SQL Server默认周日为一周第一天,如果要改成周一,可以用SET DATEFIRST 1;在查询前执行。

3. PostgreSQL

用EXTRACT(WEEK FROM OrderDate)获取周数:

SELECT
  CONCAT(EXTRACT(YEAR FROM OrderDate), LPAD(EXTRACT(WEEK FROM OrderDate)::VARCHAR, 2, '0')) AS year_week,
  DATE_TRUNC('week', OrderDate) + INTERVAL '1 day' AS week_start_date, -- 周一为起始日(默认周日,加1天改周一)
  COUNT(OrderId) AS order_count
FROM Orders
WHERE EXTRACT(YEAR FROM OrderDate) = 2024 -- 替换为目标年份
GROUP BY year_week, DATE_TRUNC('week', OrderDate)
ORDER BY year_week;

支持用户选择年份的方法

如果是做报表工具(比如Excel自带的Power Query,或者BI工具),可以把WHERE子句里的年份改成参数,让用户在界面上选择年份后自动替换。如果是手动运行SQL,只需要每次把2024改成用户需要的年份就行。

导出Excel报表的步骤

  1. 执行上面的SQL,得到统计结果;
  2. 把结果集复制,直接粘贴到Excel表格里;
  3. 或者用数据库自带的导出功能:比如MySQL的“导出向导”、SQL Server的“导出数据”工具,直接把查询结果导出为Excel文件。

这样你就能轻松得到指定年份的每周订单量报表啦!

内容的提问来源于stack exchange,提问作者Joker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:14:40