计数与activerecord ruby​​不同

时间:2017-07-12 12:21:53

标签: mysql ruby-on-rails ruby activerecord

Visit包含extra列,以user:xxx login:yyy(字符串类型)编写。

我想确定所有不同密码的数量(在login之后)。我在我的控制器中写了这个ActiveRecord查询。

Visit.select(:extra).where('extra LIKE ?', "%login%").distinct.count

此查询将为我提供不同extra的结果,其中包含单词login而非密码(在此示例中为yyy)。我想对login之后的所有字符串(密码)执行相同的操作。

有没有解决办法?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以使用MySQL SUBSTRING_INDEX来实现此目标。

Visit.select("SUBSTRING_INDEX(extra, ':', -1)").where('extra LIKE ?', "%login%").distinct.count