Posts
242
Comments
66
Trackbacks
4
SQL-Abfragen mit "OVER"

Mit T-SQL lässt sich von einer Select-Abfrage nur eine Teilmenge der Ergebnisse zurückgeben, so z.B. nur die ersten 10 oder die zweiten 20 Treffer einer SQL-Abfrage.

Dies ist z.B. für die Realisierung einer Paging-Funktionen ideal. Hier ein Beispiel:

WITH Result AS
(SELECT *,ROW_NUMBER()
OVER (ORDER BY [Tabelle].[Feld1]) AS RowNumber
FROM [Tabelle]
)
SELECT * FROM Result WHERE RowNumber>=0 AND RowNumber<=20

In einer .Net Umgebung kann man natürlich den Wert von Rownumber mit AddParam() an den SELECT-Befehl übergeben.

posted on Saturday, May 12, 2007 2:51 PM Print
Comments
Gravatar
# 
Marcel Beutner
11/22/2007 11:41 AM
Sehr hilfreicher Tip! Danke :-)
Gravatar
# re: SQL-Abfragen mit "OVER"
Thomas Felting
4/14/2008 9:19 AM
So etwas hatte ich gesucht ;-)

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 1 and 2 and type the answer here: