如何在ruby上获取在一周中特定日期创建的用户



我正试图在ruby on rails上创建一些kpi。

例如,我如何统计周日或周三创建的所有用户?

我现在ruby可以用以下代码获得一周中的每一天,例如:

u = User.last
u.created_at.wday #==> wday get the day of week (0: sunday, 1: monday..)

但以下不起作用:

User.where(created_at.wday: 0).count

我不想循环每个用户,检查它是否是在周日创建的,并将其放入数组中,因为这似乎很昂贵。

有什么想法吗?

如果您使用的是MYSQL,您可以使用一周中的

User.where('DAYOFWEEK(created_at) = ?', 0).count

对于Postgres来说,这应该做到:

User.where("extract(dow from created_at) = ?", 0)

编辑:对于SQLITE,以下工作:

User.where("strftime('%w', created_at) = ?", 0)

相关内容

  • 没有找到相关文章

最新更新