2016-05-03 6 views
0

meine Tabelle wie folgt aussieht:sql für die ersten fünf männlichen oder weiblichen Studenten, die die meisten und die wenigsten Noten haben?

rajesh 50 
ravi  87 
kamala 26 
amrutha 35 

und so weiter.

Ich muss eine Abfrage für fünf männliche oder weibliche Studenten schreiben, die die meisten und die geringsten Noten haben.

+0

Benötigen Sie die 5 höchsten und niedrigsten Marken oder etwas anderes? –

+1

Hat Ihr Tisch eine Spalte, in der er die männlichen oder weiblichen Schüler beschreibt? – Priyanshu

+0

@Priyanshu Ich glaube nicht, dass er sich um das Geschlecht kümmert, aber seine Frage ist auch danach noch vage. –

Antwort

0

Ein einfacher Weg, dies zu erreichen wäre UNION zusammen zwei Abfragen, eine, die die Schüler mit den höchsten 5 Noten findet, und die andere, die die Schüler mit den niedrigsten fünf Marken findet.

SELECT * FROM 
    (SELECT name, mark FROM grades ORDER BY mark DESC LIMIT 5) AS t1 
UNION ALL 
SELECT * FROM 
    (SELECT name, mark FROM grades ORDER BY mark LIMIT 5) AS t2 
+0

ASC fehlt, wie ich denke :) – piyushj

+0

@piyushjaiswal 'ASC' ist die Standard-Sortierreihenfolge. Wenn es weggelassen wird, wird standardmäßig ASC verwendet. –

+0

Ich habe dies versucht und es zeigt mir den Fehler --inkorrekte Verwendung der Reihenfolge von und Union @TimBiegeleisen – lucky

0

Sie müssen Spalte haben, die sonst Male & Female beschreibt Sie können keine Daten nach Geschlecht filtern.

Verwandte Themen