gpt4 book ai didi

mysql - SQL:计算/求和特定日期范围内的列

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:06 26 4
gpt4 key购买 nike

我有一张大致如下所示的表格。有数千行。

booking_date   checkin_date    ...some other columns  ....    booking_value
22-mar-2016 29-mar-2016 ........................... $150
01-apr-2016 17-may-2016 ........................... $500
09-apr-2016 09-apr-2016 ........................... $222
17-apr-2016 23-apr-2016 ........................... $75
19-apr-2016 31-july-2016 ........................... $690
03-May-2016 07-May-2016 ............................. $301
.
.
.
.

我正在尝试计算 2016 年 4 月每天的预订数量和每天的预订值(value)。第二部分是计算 booking_date 和 checking_date 相同的预订数量。

我是 SQL 的新手。我可以在纸上制定逻辑,但似乎无法弄清楚如何处理代码。

最佳答案

我推荐以下查询:

SELECT CAST(booking_date AS DATE), COUNT(*) as Number_of_Booking,
SUM(CAST(booking_date AS DATE) = CAST(checkin_date AS DATE)) as count_with_same_date,
SUM(booking_value) as booking_value
FROM t
WHERE booking_date >= '2016-04-01' AND
booking_date < '2016-05-01'
GROUP BY CAST(booking_date AS DATE);

请特别注意日期过滤。直接比较允许 MySQL 使用索引。

同一日期的数字计算使用了 MySQL 的一个很好的特性,其中 bool 值被视为数字上下文中的数字。

关于mysql - SQL:计算/求和特定日期范围内的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57499251/

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