2017-05-31 3 views
1

Ich habe gerade begonnen, MySQL zu lernen, und wurde ziemlich verwirrt über die Tabelle Alias. Als ich versuchte, diese Abfrage auszuführen, es hat mir gesagt, die Abfrage ist ungültig:Verwenden Sie Tabellenalias in Unterabfrage align mit Where-Klausel

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) 

Ich weiß, dass es eine einfache Möglichkeit, dies zu tun ist, ich bin nur verwirrt darüber, warum mein Code funktioniert nicht, vielen Dank! Menge!

Antwort

0

können Sie diese Abfrage umformulieren LIMIT mit:

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

Sie für diese Antwort danken. Aber eigentlich kenne ich die richtige Antwort, kann einfach nicht herausfinden, was mit dem, was ich gepostet habe, nicht stimmt ~~ würdest du mir bitte sagen, warum mein Beitrag falsch ist? –

+0

@PengDong Ich würde Ihren derzeitigen Ansatz in MySQL nicht verwenden, da dies zu einer hässlichen Abfrage führen würde. –

Verwandte Themen