2016-04-10 23 views
1

ランナー(r_name(主キー)、マイル、week_id)とWEEKDAYS(did、day_of_week)の2つのテーブルがあります。 runner.week_idはWeekdays.didを参照しています。 基本的なSQL集計

平均マイルが最も高い曜日を見つけるにはどうすればよいですか?

答えて

0

GROUPSランナーを曜日に使用する内部クエリを作成します。制限付きの注文を使用して、week_idでトップエントリを選択します。そして、そのIDで週を選択:

SELECT * 
FROM weekdays 
WHERE 
week_id IN (
    SELECT week_id 
    FROM runner 
    GROUP BY week_id 
    ORDER BY SUM(miles) DESC 
    LIMIT 1 
) 

参加使い方:

SELECT * 
FROM weekdays 
JOIN runner 
ON runner.week_id = weekdays.id 
GROUP BY runner.week_id 
ORDER BY SUM(runner.miles) DESC 
LIMIT 1 
+0

私はサブクエリなしでこのクエリを書くにはどうすればよいですか? – awd

+0

結合を使用します。編集を参照してください。 –