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

如何在SQL中为多个类别分配所有查询到的日期?

实现类别与日期全组合的SQL查询方法

你需要将sales表中的每个类别与date_table的所有唯一日期进行全量配对,用**交叉连接(CROSS JOIN)**就能实现,具体SQL语句如下:

SELECT s.category, d.date
FROM sales s
CROSS JOIN (SELECT DISTINCT date FROM date_table) d
ORDER BY s.category, d.date;

语句说明:

  • CROSS JOIN会自动把sales表的每一条类别记录,和子查询返回的所有日期记录进行组合,生成你需要的全量配对结果。
  • 子查询(SELECT DISTINCT date FROM date_table)复用了你原本获取唯一日期的逻辑,确保拿到不重复的日期集合。
  • ORDER BY用于让结果按类别、日期排序,和你预期的输出格式一致,若不需要排序可直接去掉该子句。

执行这条语句后,就能得到你期望的结果:

category    date        
chocs       2020-02-10 
chocs       2019-08-08  
chocs       2017-09-06 
chocs       2021-11-10 
biscuits    2020-02-10
biscuits    2019-08-08
biscuits    2017-09-06
biscuits    2021-11-10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:10:31