質問編集履歴

2

修正

2022/07/07 02:05

投稿

hatena
hatena

スコア4

test CHANGED
File without changes
test CHANGED
@@ -33,42 +33,3 @@
33
33
  mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
34
34
 
35
35
  原因は、バージョンの違いによるものでしょうか。
36
-
37
- 追記します。
38
- ↓↓
39
- MySQLのバージョンは5.7用(window関数を使わずに)のSQL文を作成しました。
40
- [参考](https://tech.mobilefactory.jp/entry/2021/12/11/000000)
41
-
42
- SET @r = 0;
43
- SELECT
44
- fighters.id,
45
- COUNT(likes.user_id),
46
- @r:=@r+1
47
- FROM fighters
48
- LEFT JOIN
49
- likes
50
- ON
51
- fighters.id=likes.fighter_id
52
- GROUP BY fighters.id
53
- ORDER BY COUNT(likes.user_id) DESC;
54
-
55
- 以上をクエリビルダで直してみました。
56
- ```ここに言語を入力
57
- $fighters = DB::table('fighters')
58
- ->leftJoin('likes', 'fighters.id', '=', 'likes.fighter_id')
59
- ->select('fighters.id','count(likes.user_id)','@r:=@r+1')
60
- ->groupBy('fighters.id')
61
- ->orderBy('count (likes.user_id)', 'desc')
62
- ->get();
63
- dd($fighters);
64
- ```
65
- しかし、うまくいかず。。。
66
- エラー内容
67
- SQLSTATE[42S22]: Column not found: 1054 Unknown column 'count(likes.user_id)' in 'field list' (SQL: select `fighters`.`id`, `count(likes`.`user_id)`, `@r:=@r+1` from `fighters` left join `likes` on `fighters`.`id` = `likes`.`fighter_id` group by `fighters`.`id` order by `count (likes`.`user_id)` desc)
68
-
69
- count(likes.user_id)が無い?
70
-
71
- 教えて頂けると、幸いです。
72
-
73
-
74
-

1

追記

2022/07/06 06:47

投稿

hatena
hatena

スコア4

test CHANGED
File without changes
test CHANGED
@@ -33,3 +33,42 @@
33
33
  mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
34
34
 
35
35
  原因は、バージョンの違いによるものでしょうか。
36
+
37
+ 追記します。
38
+ ↓↓
39
+ MySQLのバージョンは5.7用(window関数を使わずに)のSQL文を作成しました。
40
+ [参考](https://tech.mobilefactory.jp/entry/2021/12/11/000000)
41
+
42
+ SET @r = 0;
43
+ SELECT
44
+ fighters.id,
45
+ COUNT(likes.user_id),
46
+ @r:=@r+1
47
+ FROM fighters
48
+ LEFT JOIN
49
+ likes
50
+ ON
51
+ fighters.id=likes.fighter_id
52
+ GROUP BY fighters.id
53
+ ORDER BY COUNT(likes.user_id) DESC;
54
+
55
+ 以上をクエリビルダで直してみました。
56
+ ```ここに言語を入力
57
+ $fighters = DB::table('fighters')
58
+ ->leftJoin('likes', 'fighters.id', '=', 'likes.fighter_id')
59
+ ->select('fighters.id','count(likes.user_id)','@r:=@r+1')
60
+ ->groupBy('fighters.id')
61
+ ->orderBy('count (likes.user_id)', 'desc')
62
+ ->get();
63
+ dd($fighters);
64
+ ```
65
+ しかし、うまくいかず。。。
66
+ エラー内容
67
+ SQLSTATE[42S22]: Column not found: 1054 Unknown column 'count(likes.user_id)' in 'field list' (SQL: select `fighters`.`id`, `count(likes`.`user_id)`, `@r:=@r+1` from `fighters` left join `likes` on `fighters`.`id` = `likes`.`fighter_id` group by `fighters`.`id` order by `count (likes`.`user_id)` desc)
68
+
69
+ count(likes.user_id)が無い?
70
+
71
+ 教えて頂けると、幸いです。
72
+
73
+
74
+