Ergebnisse nach Reihung "abschneiden"

16/03/2010 - 19:50 von Nicole Wagner | Report spam
Hallo User,


ich habe eine komplexe SQL Abfrage, sie liefert mit vielleicht 0 bis 12
Ergebnisse.

Ihre letzte Zeile ist:
sort by...DESC
Erfreulicherweise steht danach ganz oben jene Zeile, die ich gerne
sehen moechte: Eben der hoechste Wert nach einem bestimmten Kriterium.

Meine Frage:
Kann ich von innerhalb SQL sagen:
"liefere mir nur den ersten Datensatz"?

==
und wenn wir schon beim Thema sind:

Ist es moeglich zu sagen:
"Mache diese Abfrage und gib' mir genau die ersten 30 Ergebnisse"?

Oder muss ich mit
while noteof
ibsql.next
innerhalb von Delphi herunterzaehlen?

Danke fuer Tipps!



Nicole
 

Lesen sie die antworten

#1 Peter Lange
16/03/2010 - 21:48 | Warnen spam
Am 16.03.2010 19:50, schrieb Nicole Wagner:
Hallo User,



Hallo,


ich habe eine komplexe SQL Abfrage, sie liefert mit vielleicht 0 bis 12
Ergebnisse.
Ist es moeglich zu sagen:
"Mache diese Abfrage und gib' mir genau die ersten 30 Ergebnisse"?




Du suchst 'SELECT FIRST 30 * FROM <TABELLE>'

Du kannst das auch noch erweitern, falls Du Datensàtze überspringen
willst: 'SELECT FIRST 30 SKIP 5 * FROM <TABELLE>' liefert Dir Satz Nr 6
bis 35.

(getestet hier mit Firebird 1.5)

hth
Peter

Ähnliche fragen