Hier ist die Abfrage, die ich versuchte: Nun, wenn ich Elemente wie 1, 2, 3, 4, 5 habe. Es sollte 4 geben & 5 aber das ist die Rückkehr 2, 3, 4 5. Wie kann ich tun es ohne eingebaute FunktionenFinden Sie die Top 2 Werte aus einer Tabelle
SELECT S.item, max(B.QUANTITY)
FROM Bucket B, Store S
WHERE S.Store_ID = B.Store_ID
AND QUANTITY > (SELECT min(QUANTITY)
FROM Store S, Bucket B
WHERE S.Store_ID = B.Store_ID)
GROUP BY S.item
Markieren Sie Ihre Frage mit der von Ihnen verwendeten Datenbank. –
Fördern Sie die Verwendung von expliziten 'JOIN' sintaxis, schrieb Aaron Bertrand einen schönen Artikel [Schlechte Angewohnheiten zu treten: mit alten Stil JOINs] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/ schlechte Gewohnheiten-zu-kick-mit-alten-Stil-joins.aspx) darüber. –
Vielleicht weil du tust: 'QUANTITY> (SELECT min (QUANTITY) ...' das ist definitiv * nicht * Top-Wert ...;) – alfasin