2017-11-02 2 views
1

Ich bin neu in SQL und wirklich ratlos mit einer bestimmten Frage, ich würde wirklich schätzen, wenn jemand die Zeit nehmen könnte, um mich mit diesem heraus zu helfen.SQL Übung, Hilfe benötigt

Frage: Zeigen Sie die 3 größten Länder (nach ihrer Bevölkerung) auf dem am wenigsten bevölkerten Kontinent (mit Ausnahme der Antarktis).

SELECT name , 
     country.population , 
     continent , 
     SUM(country.population) OVER (PARTITION BY continent) continent_population 
FROM country 
WHERE continent != 'Antarctica'; 

Ich habe diese Abfrage bekam so weit, die mir eine Tabelle mit der entsprechenden Bevölkerung von jedem Kontinent, aber was bin ich dabei, dass mit der geringsten Bevölkerung auf den Kontinent zu verengen. Danke für die Hilfe

Database ER-Diagramm ist unter

Database ER diagram

+3

Was bekommen haben Sie schon versucht? – Antikhippe

+0

Was ist Ihre Frage? –

+2

SELECT Name, country.population, kontinent, SUM (country.population) OVER (PARTITION BY Kontinent) continent_population VON Land WHERE Kontinent! = 'Antarktis' – hhkk

Antwort

0

Ich glaube, Sie können nur Ihre Ergebnisse bestellen und die Top 3.

SELECT 
     name , 
     country.population , 
     continent , 
     SUM(country.population) OVER (PARTITION BY continent) continent_population 
FROM country 
WHERE continent != 'Antarctica' 
ORDER BY 
    continent_population ASC, 
    country.population DESC 
LIMIT 3; 
+0

Oh yeah, das funktioniert, ich habe versucht herauszufinden, wie man das in eine Unterabfrage stellt, wenn alles, was ich tun musste, Ordnung ist. Ich habe gerade ein LIMIT 3 am Ende hinzugefügt, um die Top 3 zu zeigen. Danke für die Hilfe! – hhkk

+0

@hhkk Es klingt wie dies Ihre Frage gelöst, also sollten Sie es als die Antwort markieren. – andreamc