質問編集履歴

5

質問内容の修正

2018/11/30 05:02

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -12,11 +12,17 @@
12
12
 
13
13
 
14
14
 
15
- まだランキングをつけるところまで処理をかていないのですが
15
+ 最終的にほしいのは select {user_id, rank, point}
16
16
 
17
+ まだランキングをつける処理はかけていないんですが
18
+
17
- とりあえず user_id とユーザに関連しているポイントレコードの一定期間内の集計のソートを取り出そうとしたのですが
19
+ とりあえず user_id とユーザに関連しているポイントレコードの一定期間内の集計のソートを
20
+
21
+ select {user_id, point} で取り出そうとしたのですが
18
22
 
19
23
  ActiveRecord のクエリーをかくのにまだなれていなくて Syntaxerror がなかなかとれません
24
+
25
+
20
26
 
21
27
 
22
28
 

4

質問内容の修正

2018/11/30 05:02

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  user モデルが has_many: points をもっていて
2
2
 
3
- point モデルが point と create_at をもっています
3
+ point モデルが belongs_to の user_id と point と create_at をもっています
4
4
 
5
5
 
6
6
 
@@ -46,6 +46,6 @@
46
46
 
47
47
 
48
48
 
49
- where や sum をどこにつければいいのかイマイチわからなくて
49
+ where や sum をどこにつければいいのかわからなくて
50
50
 
51
51
  どのようにかけばよいのでしょうか

3

タグ追加

2018/11/30 04:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes

2

質問内容の修正

2018/11/30 04:54

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,13 @@
2
2
 
3
3
  point モデルが point と create_at をもっています
4
4
 
5
+
6
+
7
+ 指定したユーザー(リレーションでもってる)に対して
8
+
5
9
  ユーザごとに points レコードの一定期間内の point (user.points.point) を集計してランキングにしたいです
6
10
 
7
-
8
-
9
- 機関は term_since, term_until で変数でもっています
11
+ 期間は term_since, term_until で変数でもっています
10
12
 
11
13
 
12
14
 

1

質問内容の修正

2018/11/30 04:52

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  users.select(id, sum(:points).where(create_at >= term_since && create_at <= term_until) as point)
24
24
 
25
- .order(point)
25
+ .order(:point)
26
26
 
27
27
  .find_each do |id, point|
28
28
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  .select(sum(point) as point)
38
38
 
39
- .order(point)
39
+ .order(:point)
40
40
 
41
41
  .find_each do |id, point|
42
42