teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2017/12/08 06:16

投稿

ttyp03
ttyp03

スコア17002

answer CHANGED
@@ -15,4 +15,27 @@
15
15
  order by randnum limit 5
16
16
  ) order by incount desc
17
17
 
18
+ ```
19
+
20
+ 追記
21
+ なんとなく自分なりに解釈して修正してみました。
22
+ 考え方のコメント付き(順番通り見てください)
23
+ 動作は未検証です。
24
+ ```SQL
25
+ select * from (
26
+ --④抽出した各レコードに乱数を付加
27
+ select rand() as randnum, * from (
28
+ --①siteから上位5件を抽出
29
+ select name from site
30
+ where henkan <= 2 and rsscount < 10
31
+ order by incount desc
32
+ limit 5
33
+ ) as t1
34
+ --②抽出した5件のsiteごとにblogレコードを結合
35
+ left join blog as t2 on t1.name=t2.name
36
+ --③blog記事を24時間以内に限定
37
+ where t2.date > CURRENT_TIMESTAMP + INTERVAL - 24 HOUR
38
+ --⑤乱数順に並び変え
39
+ ) order by randnum;
40
+
18
41
  ```