gpt4 book ai didi

mysql - SQL 查询 : Indicate if a row had a value of 0

转载 作者:行者123 更新时间:2023-12-04 08:33:43 25 4
gpt4 key购买 nike

如果我有一个表格来记录每天售出的产品数量——如果售出 0 件产品则不记录在日志中——我将如何确定我的所有产品在一天的销售额为 0?
咖啡 table 示例

Date    Item    QuantitySold
Jan 1 coffee 4
Jan 1 tea 1
Jan 2 tea 3
Jan 3 coffee 2
Jan 3 tea 4
所需的输出将是这样的。到目前为止,我可以得到一个列出每天和销售数量的版本,但不知道是否还有一种方法可以“标记”产品。
Item    TotalSold   SoldDaily
coffee 6 FALSE
tea 8 TRUE
这是我粗略的起点 - JOIN 是尝试强制显示所有日期,但它仍然跳过 1 月 2 日的咖啡行。从那里开始,我无法弄清楚我将如何执行下一步- 我已经尝试了一些 CASE WHEN,但没有走到一起。
with dates as (select distinct date from cafetable)

select date,
product,
sum(quantitysold) as quant_sold,
min(quantitysold) as min_sold
from dates c
left join cafetable d on d.date=c.date
group by 1,2
我认为我什至不能很好地表达这一点。我每天处理这张表十几次,我觉得这个查询已经炸了我的大脑。

最佳答案

您可以在此处使用逻辑来断言所有日期是否存在:
以下是 BigQuery 标准 SQL:

select
c.date,
d.product,
sum(quantitysold) as quant_sold,
min(quantitysold) as min_sold,
case when count(distinct c.date) = (select count(distinct date) from dates)
then TRUE else FALSE end AS SoldDaily
from dates c
left join cafetable d
on d.date = c.date
group by
1, 2;

关于mysql - SQL 查询 : Indicate if a row had a value of 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64905865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com