当前位置: 首页 > news >正文

SQL:生成日期序列(填补缺失的日期)

你是一家零售公司的数据分析师,公司有一个 daily_sales表记录了每日的销售数据。由于某些日期可能没有销售记录,你需要生成完整的日期序列并分析销售情况

CREATE TABLE daily_sales (date DATE PRIMARY KEY,sales_amount DECIMAL(10,2) NOT NULL
);

题目要求

  1. 编写一个SQL查询,生成2023年全年的完整日期序列(从2023-01-01到2023-12-31)
  2. 将 daily_sales表与生成的日期序列左连接,确保结果包含所有日期
  3. 对于没有销售记录的日期,销售金额显示为0
  4. 计算并显示每个日期是星期几(1-7,1=周日,7=周六)
  5. 标记每个日期是工作日(Weekday)还是周末(Weekend)
  6. 按日期排序结果
WITH RECURSIVE date_range AS (SELECT '2023-01-01' AS dateUNION ALLSELECT date + INTERVAL 1 DAYFROM date_rangeWHERE date < '2023-12-31'
)
SELECT d.date,COALESCE(s.sales_amount, 0) AS sales_amount,DAYOFWEEK(d.date) AS day_of_week,CASE WHEN DAYOFWEEK(d.date) IN (1, 7) THEN 'Weekend' ELSE 'Weekday' END AS day_type
FROM date_range d
LEFT JOIN daily_sales s ON d.date = s.date
ORDER BY d.date;
  1. 使用 WITH RECURSIVE 创建递归CTE
  2. MySQL 的 DAYOFWEEK() 函数返回1(周日)到7(周六)
  3. 日期加法使用 + INTERVAL 1 DAY 语法
http://www.lryc.cn/news/621495.html

相关文章:

  • 完整技术栈分享:基于Hadoop+Spark的在线教育投融资大数据可视化分析系统
  • 【Docker】关于hub.docker.com,无法打开,国内使用dockers.xuanyuan.me搜索容器镜像、查看容器镜像的使用文档
  • 关于截屏时实现游戏暂停以及本地和上线不同步问题
  • Java研学-SpringCloud(四)
  • Flink Stream API 源码走读 - keyBy
  • 转换一个python项目到moonbit,碰到报错输出:编译器对workflow.mbt文件中的类方法要求不一致的类型注解,导致无法正常编译
  • Vue响应式系统在超大型应用中的性能瓶颈
  • 中年海尔,是时候押注新方向了
  • 训练大模型的前提:数据治理工程:从原始数据到高质量语料的系统化治理实践
  • 抽奖程序web程序
  • 小迪安全v2023学习笔记(六十二讲)—— PHP框架反序列化
  • 实战 AI8051U 音视频播放:USART-SPI→DMA-P2P→SPI+I2S 例程详解
  • Redis 实用型限流与延时队列:从 Lua 固定/滑动窗口到 Streams 消费组(含脚本与压测)
  • 大华相机RTSP无法正常拉流问题分析与解决
  • (Arxiv-2025)Stand-In:一种轻量化、即插即用的身份控制方法用于视频生成
  • openwrt增加自定义网页
  • 基于asp.net#C##VUE框架的独居老人物资配送系统的设计与实现#sql server#visual studio
  • 国内多光谱相机做得好的厂家有哪些?-多光谱相机品牌厂家
  • 8月4日实训考察:重庆五一职院走进成都国际影像产业园
  • Flink面试题及详细答案100道(1-20)- 基础概念与架构
  • 基于.net、C#、asp.net、vs的保护大自然网站的设计与实现
  • Vue3中的ref与reactive全面解析:如何正确选择响应式声明方式
  • java 策略模式 demo
  • 基于微信小程序的家教服务平台的设计与实现/基于asp.net/c#的家教服务平台/基于asp.net/c#的家教管理系统
  • 「iOS」————APP启动优化
  • 什么是接口?PHP如何使用 SessionHandlerInterface 接口实现Session自定义会话数据存储
  • Spark 运行流程核心组件(二)任务调度
  • Python 基础语法笔记.2
  • Dijkstra与Floyd求最短路算法简介
  • zabbix部署问题后常见问题