计算具有不同列的行数

发布于 2024-11-02 17:19:57 字数 334 浏览 0 评论 0原文

我正在尝试使用 Active Record 来计算具有不同列的行数。

以下 SQL 有效并给出了正确的结果:

SELECT COUNT(DISTINCT(user_id)) FROM attempts WHERE score = 100 AND problem_id = 1

但是此代码会引发 ActiveRecord::StatementInvalid 错误:

attempts.where(:score => 100).count(:distinct => :user_id)

I'm trying to count the number of rows with a distinct column with Active Record.

The following SQL works and gives me the correct result:

SELECT COUNT(DISTINCT(user_id)) FROM attempts WHERE score = 100 AND problem_id = 1

But this code throws an ActiveRecord::StatementInvalid error:

attempts.where(:score => 100).count(:distinct => :user_id)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

手长情犹 2024-11-09 17:19:57

尝试:

attempts.count('user_id', :conditions => "score = 100", :distinct => true)

更多信息:http://ar.rubyonrails.org/classes /ActiveRecord/Calculations/ClassMethods.html

Try:

attempts.count('user_id', :conditions => "score = 100", :distinct => true)

more infos: http://ar.rubyonrails.org/classes/ActiveRecord/Calculations/ClassMethods.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文