以下の表があります。
name | 2018_数学 | 2018_物理 |
---|---|---|
Aさん | 50 | 80 |
Bさん | 60 | 60 |
Cさん | 80 | 30 |
Dさん | 90 | 50 |
Eさん | 40 | 90 |
Fさん | 100 | 70 |
以下の結果のように、それぞれのトップ3位の表を作成するSQL文がわからないです。
unionだと下に6行が作成されますが、そうではなく横に結合したいです。
ちなみに、結果はこんな感じのものです。
Top | 2018_数学 | 2018_物理 |
---|---|---|
1 | 100 | 90 |
2 | 90 | 80 |
3 | 80 | 70 |
1つのテーブルの指定列のトップ3位データの結合ですが、どなたか教えていただけないでしょうか。
宜しくお願いします。
(select 2018_数学 from t_table order by 2018_数学
desc limit 3) JOIN (select 2018_物理 from t_table order by 2018_物理
desc limit 3);
エラーになりました。どなたか教えていただけますでしょうか。
MySQL8.0です。
回答2件
あなたの回答
tips
プレビュー