2016-10-06 1 views
0

Der aktuelle Code Ich habe den Durchschnitt findet und zeigt alles 4. ich es zu trimmen versuchen hinunter zu dem heiligen zeigt die Informationen für den Top-2 höchsten Durchschnittzeigen nur Top-2-Werte in der Gruppe

SELECT BRANCHSUBURB, AVG(SESSIONPRICE) 
FROM BRANCH NATURAL JOIN SESSIONS 
GROUP BY BRANCHSUBURB 
ORDER BY BRANCHSUBURB; 

dh sollte nur männlich und cronulla auf das Bild klicken click me

Antwort

1

verwenden Sie einfach order by und limit zeigen:

SELECT BRANCHSUBURB, AVG(SESSIONPRICE) 
FROM BRANCH NATURAL JOIN SESSIONS 
GROUP BY BRANCHSUBURB 
ORDER BY AVG(SESSIONPRICE) DESC 
LIMIT 2; 

Hinweis: Ich rate Ihnen dringend, NATURAL JOIN nicht zu verwenden. Meiner Meinung nach ist es ein Fehler, der darauf wartet, passiert zu sein. Die NATURAL JOIN funktioniert basierend auf Spalten, die die gleichen Namen in den beiden Tabellen haben - es verwendet nicht einmal deklarierte Fremdschlüsselbeziehungen. Es ist viel besser, einen regulären Join mit einer USING Klausel zu verwenden.

+0

habe mich um 2 Sekunden :) das sollte die akzeptierte sein –

+0

Ich bekomme immer "SQL-Befehl nicht richtig beendet", wenn Sie dies versuchen, was könnte das Problem hier sein? – Dan

+0

Wie würde ich mit ROWNUM dasselbe erreichen? – Dan

Verwandte Themen