2017-05-31 55 views
1

我剛開始學習MySQL,並對錶別名感到困惑。當我試圖運行此查詢,它告訴我的查詢無效:在子查詢中使用表別名與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中使用你當前的方法,因爲它會導致一個醜陋的查詢。 –