gpt4 book ai didi

mysql - 在 ActiveRecord 中按星期几进行分组、排序和计数

转载 作者:行者123 更新时间:2023-11-29 18:17:36 25 4
gpt4 key购买 nike

我有一个带有timeslot列(日期时间类型)的表。我想发出一个查询并让它返回数据,如下所示:

Sunday | 24
Monday | 32
Tuesday | 12
Wednesday | 93
Thursday | 22
Friday | 66
Saturday | 25

基本上,第一列中按星期几(星期日 -> 星期一)排序,第二列中按行的 count(*) 排序。

到目前为止,我有一个这样的查询:

order_query = "CASE
WHEN DAYNAME(CONVERT_TZ(timeslot,'UTC','America/Toronto')) = 'Sunday' THEN 1
WHEN DAYNAME(CONVERT_TZ(timeslot,'UTC','America/Toronto')) = 'Monday' THEN 2
WHEN DAYNAME(CONVERT_TZ(timeslot,'UTC','America/Toronto')) = 'Tuesday' THEN 3
WHEN DAYNAME(CONVERT_TZ(timeslot,'UTC','America/Toronto')) = 'Wednesday' THEN 4
WHEN DAYNAME(CONVERT_TZ(timeslot,'UTC','America/Toronto')) = 'Thursday' THEN 5
WHEN DAYNAME(CONVERT_TZ(timeslot,'UTC','America/Toronto')) = 'Friday' THEN 6
WHEN DAYNAME(CONVERT_TZ(timeslot,'UTC','America/Toronto')) = 'Saturday' THEN 7
END"

week = ProfessionalAvailability.where.not(appointment_id: nil).group('DAYNAME(CONVERT_TZ(timeslot,"UTC","America/Toronto"))').order(order_query).count

这适用于我的情况。但是,正如您所看到的,order_query 是一个相当长的字符串,我想知道是否有一个简单的 ActiveRecord 方法可以做到这一点。

我的数据库位于 MySQL 中。

非常感谢~

最佳答案

查看group_date作为示例,了解如果您想自己构建 SQL 查询,或者只是为您构建 SQL 查询,这是如何实现的。

关于mysql - 在 ActiveRecord 中按星期几进行分组、排序和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46892959/

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