2017-05-31 13 views
1

と学習し始めたばかりで、テーブルエイリアスについてはかなり混乱しています。サブクエリ内のテーブルエイリアスをwhere句

select customer_number 
from 
(select customer_number, count(*) as num 
from orders 
group by customer_number) as tmp 
where num = (select max(num) in tmp) 

私は私のコードは動作しないことができる理由についてだけ困惑している、これを行う簡単な方法があると知って、感謝:私はこのクエリを実行しようとしていたとき、それはクエリが無効である私に言いましたロット!

答えて

0

あなたはLIMITを使用してこの問合せを修正することができます

SELECT customer_number 
FROM orders 
GROUP BY customer_number 
ORDER BY COUNT(*) DESC 
LIMIT 1 
+0

はこの返事をいただき、ありがとうございます。しかし、実際に私は正解を知っている、私が投稿したものと何が間違っているかを理解することはできません~~私の投稿が間違っている理由を教えてください? –

+0

@ PengDong私はあなたの現在のアプローチをMySQLで使用しません。なぜなら、これは醜いクエリになるからです。 –