gpt4 book ai didi

mysql - 显式组和具有 `groupdate` gem 的having子句

转载 作者:行者123 更新时间:2023-11-29 23:04:52 28 4
gpt4 key购买 nike

我正在使用groupdate gem 对带有日期/时间的记录进行分组。我想对记录进行分组并选择带有having 子句的用户,然后用日期/月份/时间对记录进行分组。但它没有给出我想要的正确结果。例如:

User.group_by_month(:created_at).count # gives proper result but
User.joins("LEFT JOIN devices ON devices.user_id=users.id").group("users.id").having("COUNT(devices.id)=0").count #gives all users in hash while i want only count for the months.

我使用它来使用 chartkick gem 显示图表。

任何帮助将不胜感激。

最佳答案

最后我使用 2 个查询找到了解决方法。

user_ids = User.joins("LEFT JOIN devices ON users.id=devices.user_id").group("users.id").having("count(devices.id)=0").pluck("users.id")

User.where(id: user_ids).group_by_month("created_at").count

另一种方法是在子查询中包含第一个查询。

User.where("id IN (SELECT u.id FROM users u LEFT JOIN devices ON u.id=devices.user_id GROUP BY us.id HAVING count(devices.id)=0)").group_by_month("created_at").count

关于mysql - 显式组和具有 `groupdate` gem 的having子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28337771/

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