質問編集履歴
2
タグを修正
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
タイトルと環境を更新しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
グループごとに最大取得件数を指定して、レコードを取得したい
|
test
CHANGED
@@ -1,6 +1,14 @@
|
|
1
|
+
環境:MYSQL5.7
|
2
|
+
|
1
|
-
accountsテーブルとclientsテーブル、それらをcross join したrecommendテーブルがあり、
|
3
|
+
accountsテーブル(id, name)とclientsテーブル(id, name)、それらをcross join したrecommendテーブル(id, account_id, client_id, recommend_date, open_date)があり、
|
2
4
|
|
3
5
|
recommendテーブルからaccountごとに最大10件取得したいです。idを指定した場合だと以下の様になると思うのですが、いちいちidを指定せずに、全accountのrecommendテーブルのデータを最大10件ずつ取得する方法はないでしょうか?
|
6
|
+
|
7
|
+
※recommend.recommend_dateは作成時はNULL, SELECTされたタイミングで日時が入ります。
|
8
|
+
|
9
|
+
open_dateに日付が入っていない場合は、再度SELECTの対象となります。
|
10
|
+
|
11
|
+
|
4
12
|
|
5
13
|
```SQL
|
6
14
|
|
@@ -12,7 +20,7 @@
|
|
12
20
|
|
13
21
|
left join clients on clients.id = recommend.client_id
|
14
22
|
|
15
|
-
where recommend.account_id = 8206
|
23
|
+
where recommend.account_id = 8206 and open_date is null
|
16
24
|
|
17
25
|
order by recommend_date, recommend.client_id desc
|
18
26
|
|