gpt4 book ai didi

MySQL 每隔 15 分钟查询一次分组数据

转载 作者:行者123 更新时间:2023-11-30 22:07:11 29 4
gpt4 key购买 nike

我需要一个跟踪付款的结果,我可以在其中查看在过去五个小时内以 15 分钟为间隔使用了多少个付款选项。

我的表“payment_options_log”有两列:payment_option 和 created_on。我的第一种方法是像在 stckoverflow 上描述的另一个主题中那样做:

SELECT MAX(created_on) max_timestamp, payment_option, count(payment_option)
FROM payment_options_log
WHERE ...
GROUP BY DATE(created_on), HOUR(created_on), MINUTE(created_on) DIV 15, payment_option;

问题是我没有得到偶数时间分组时间段的结果,例如 12:00、12:15、12:30 等。

有人能解决我的问题吗?结果应如下所示:

time   payment_option   count
12:00 CreditCard 20
12:00 PayPal 25
12:15 CreditCard 21
12:15 PayPal 19
etc.

最佳答案

这应该可以解决问题:

Select CONCAT(HOUR(created_on),':', LPAD(MINUTE(created_on) DIV 15 * 15, 2, 0), date_format(created_on, '%p')) as Time, payment_option, count(payment_option) 
from
payment_options_log
group by Time, payment_option
order by Time, payment_option

注意:您的表最好也为每一行包含一个 PRIMARY 索引。我使它仅适用于您上面提到的字段。

这里需要注意的是,这将使用表格中包含的每个日期/时间。如果您只想要今天的结果,我们必须进一步按日期分组或在 WHERE 子句中指定日期。

关于MySQL 每隔 15 分钟查询一次分组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41244266/

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