質問編集履歴

2

タグを修正

2018/08/28 01:55

投稿

syunmei
syunmei

スコア11

test CHANGED
File without changes
test CHANGED
File without changes

1

タイトルと環境を更新しました。

2018/08/28 01:55

投稿

syunmei
syunmei

スコア11

test CHANGED
@@ -1 +1 @@
1
- SQLての質問です
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