Ich habe versucht, ein wenig darüber zu verstehen, wie benutzerdefiniertes Paging in SQL implementiert wird, zum Beispiel Artikel wie diesen zu lesen .
Ich habe die folgende Abfrage, die perfekt funktioniert. Aber ich möchte Paging mit diesem implementieren.
SELECT TOP x PostId FROM ( SELECT PostId, MAX (Datemade) as LastDate
from dbForumEntry
group by PostId ) SubQueryAlias
order by LastDate desc
Was will ich?
Ich habe Forenbeiträge mit verwandten Einträgen. Ich möchte die Beiträge mit den zuletzt hinzugefügten Einträgen erhalten, damit ich die kürzlich diskutierten Beiträge auswählen kann.
Jetzt möchte ich in der Lage sein, die "Top 10 bis 20 kürzlich aktiven Beiträge" anstelle von "Top 10" zu erhalten.
Was habe ich versucht?
Ich habe versucht, die ROW-Funktionen wie im Artikel zu implementieren, aber wirklich ohne Glück.
Irgendwelche Ideen, wie man es umsetzt?
quelle
WHERE RowNumber >= @Start AND RowNumber < @End
, um die ersten 1000 Zeilen zu erhalten, wenn@Start
0 und@End
1000 ist?Dazu müssen Sie die Abfrage in SQL Server nach einer Spalte sortieren, damit Sie die gewünschten Zeilen angeben können.
Beispiel:
Dabei können Sie das Schlüsselwort "TOP" nicht verwenden.
Weitere Informationen finden Sie hier: https://technet.microsoft.com/pt-br/library/gg699618%28v=sql.110%29.aspx
quelle
Verwenden Sie dies am Ende Ihrer ausgewählten Syntax. =)
quelle
SQL 2008
Radim Köhlers Antwort funktioniert, aber hier ist eine kürzere Version:
Quelle: https://forums.asp.net/post/4033909.aspx
quelle
Sie können verschachtelte Abfragen für die Paginierung wie folgt verwenden:
Paging von 4 bis 8 Row Row , wo CustomerId ist Primärschlüssel .
quelle