我正在学习AR并尝试通过对我的数据库的查询来构建类似Excel的表。对于为我的难题找到有效的查询,我将不胜感激。
我的假设:我已经确定了正确的SQL查询,但是在将其转换为AR理解的查询以及我可以在我的视图中轻松迭代时遇到问题。
我的尝试:创建一个包含我的用户操作对象的表按状态和月份排序的操作对象,如下所示:
<table>
User_State Jul-13 Aug-13 Sept-13 Total
FL 10 5 5 20
NY 5 5 5 15
</table>
#<Action id: 1, user_state: "FL", month_part: 2013-07-01, first_name: "John">
#<Action id: 2, user_state: "FL", month_part: 2013-07-01, first_name: "Mike">
#<Action id: 3, user_state: "NY", month_part: 2013-07-01, first_name: "Jim">
SELECT user_state, month_part, count(*) AS month_part_total
FROM actions
WHERE user_state IN
(SELECT DISTINCT (user_state)
FROM actions)
GROUP BY user_state, month_part
答案 0 :(得分:0)
我认为您的查询等同于以下内容: -
SELECT user_state, month_part, count(*) AS month_part_total
FROM actions
GROUP BY user_state, month_part
在where
子句中,您从同一个表中检查user_state
。
对于此查询,以下操作应该起作用:
Action.select("user_state, month_part, count(*)").group(:user_state, :month_part)