在MySQL中获取一小时内的订单数

kyvafyod  于 2023-02-28  发布在  Mysql
关注(0)|答案(1)|浏览(185)

这里我有一个客户订单表,其中列-(order * id,customer * id,pizzaid,order_time)基于每小时的日期和时间,例如(2023 - 01 - 01 18:00:00)。
例如:日期和订单

2023-01-01 18:00:00 - 1   
2023-01-01 18:23:00 - 2

因此,在结束时,我应该看到订单计数-2在18pm。
我试过了...

select order_time, count(order_id) over (partition by order_time)  as num_orders
from pizza_runner.customer_orders

但这里不是一起计数,而是按表中的每一行显示数据。
有人能帮我一下吗
期望被计算在那一小时内所做的订单的数量。

anauzrmj

anauzrmj1#

可以使用Hour和Date函数从日期时间字段中获取Hour和Date。然后按小时/日期对结果进行分组,以获取在该日期/小时进行的订单计数

SELECT DATE(order_time), HOUR(order_time), COUNT(order_id) as num_orders
FROM pizza_runner.customer_orders
GROUP BY HOUR(order_time), DATE(order_time)

这会给予你
2023-01-01 | 18 | 2
如果您不关心按日期分组,则可以删除DATE(order_time)部分,以便仅按小时对所有订单进行分组

相关问题