gpt4 book ai didi

sql - 使用 group by 时出错

转载 作者:搜寻专家 更新时间:2023-10-30 23:09:12 24 4
gpt4 key购买 nike

在表 A 中有日期,在表 B 中有订单号。在这两个表中,我都有一个名为 order Id 的公共(public)字段。我只有一个简单的目标来获取每个日期的订单数量[如第 1 天、第 2 天 ..]这是我尝试过的方法,因为我不想使用连接或 View 。

select 
A.date_of_order,
count(B.order_number)
from A, B
where A.order_id=B.order_id;
group by A.date_of_order

我收到以下错误。可能犯了一些微不足道的错误。提前致谢更新:在考虑了 Dmitri 和 rafa 的建议后,我得到了如下表格:

23-FEB-14   1
23-FEB-14 1
23-FEB-14 2
23-FEB-14 2
23-FEB-14 2
07-MAR-14 2
07-MAR-14 4
07-MAR-14 1
07-MAR-14 5
02-MAR-14 1
02-MAR-14 1

正如我所说,我的要求很简单,就这样吧

23-Feb-14 10[i.e. all the orders placed on this date]
07-Mar-14 13
02-mar-14 2

最佳答案

WHERE 应该放在之前 GROUP BY:

   select A.date_of_order,
count(B.order_number)
from A, B
where A.order_id = B.order_id -- <- possible, but join will be better here
group by A.date_of_order

如果你想要一个 GROUP BY 之后的条件,你应该使用 HAVING

   select A.date_of_order,
count(B.order_number)
from A, B
where A.order_id = B.order_id
group by A.date_of_order
having count(B.order_number) < 3 -- having demo

关于sql - 使用 group by 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22270275/

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