【发布时间】:2021-07-21 20:51:21
【问题描述】:
我试图在 sql 中使用 IF 或 CASE 语句来选择何时选择列中的值。本质上,我在表格中有一些数据,如下所示:
我的目标是查看同一客户连续数周订购了哪些商品。我有 1 个月的日期,但我可以对一周中的每一天进行 7 个单独的查询和 1 个查询。我正在尝试做类似的事情:
Select item, date, customer, truck
If customer, item combo appears in multiple weeks
如果您知道我该怎么做,请告诉我!
【问题讨论】:
-
您使用的是哪个 DBMS? SQL 服务器? MySQL?甲骨文?了解这一点很重要。然后,您是否在某个日期范围内,例如第 20 到 24 个日历周,或者只是连续几个星期(例如 5 个相邻的星期,无论是今年还是五年前)?或者你想要两者的结合,例如2021 年连续五周?
-
然后,您是希望每个客户和项目一行,还是希望每个客户和项目和周显示一行,或者您希望显示客户和项目及其所有订单周?
-
我正在使用 Snowflake,我有多年的数据,但是在处理它时,我在 WHERE 子句中将其限制为 1 个月,以便它运行得更快。如果可能的话,我还想展示一些连续几周的专栏。我目前正在使用 Gordon 提供的解决方案,它解决了我在这篇文章中提出的具体问题,但如果您也知道如何创建“连续周数”列,那将不胜感激!我想查看每个客户和项目的一行数据,我现在按项目 ID 订购,然后按客户订购。
标签: sql if-statement select