Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

wie kann ich auf einem SQL Server 2008 das Ergebnis einer SELECT-Abfrage seitenweise ausgeben?

Beispiel:

Als Ergebnis erhalte ich 90.000 Datensätze.

Datensatz 1 – 5.000 Seite 1

Datensatz 5.001 – 10.000 Seite 2

Usw.

Gibt es deine Einstellung im Server oder einen Befehl den ich absetzen muss?

Ja aber wie gebe ich das korrekt ein

LIMIT habe ich schon gefunden, allerdings nirgendwo beschrieben wie es richtig in die Abfrage einbaue.

Limit beschränkt die Anzahl der zurückgegebenen Datensätze - aber:

Was hat die Anzahl der Zeilen eines Abfrageergebnisses mit der überhaupt mit irgendeinem Druckvorgang zu tun?

Normalerweise benutzt man irgendeine Reporting-Schnittstelle (Crystal Reports, Excel, SQL Reporting, etc.) für den Druck. Allein schon, weil man so Dinge wie Schriftart und -größe einzustellen möchte.

Ich glaube also: Die Lösung lautet nicht "Limit", sondern dein Problem ist schon falsch formuliert.

Wie willst du den denn was drucken?

Grüße

Ripper

Na ja drucken will ich es nicht.

Ich will es halt nur seitenweise auf dem Bildschirm bzw. in dem Ergebnissraster ausgeben.

Hintergrund ist der, dass ich mich durch die Datensätze hangeln muss und mir das seitenweise zur Brust nehmen will.

Gibt es da keine Möglichkeit das irgendwie seitenweise auf den Bildschirm zu bekommen?

Moin,

limit kennt der SQL Server AFAIK nicht.

Workarounds wurden früher einmal hier diskutiert:

Geniale Leute diskutieren bei fachinformatiker.de

hth

Reinhold

Naja.. "alte" Workarounds: Seit SQL Server 2005 gibt auch in T-SQL Rownums:


DECLARE @RowsProSeite INT


DECLARE @Start INT


SET @Start = 120000

SET @RowsProSeite = 10


SELECT * FROM

(

[INDENT]SELECT row_number() OVER (ORDER BY column) AS Spalte1, Spalte2, ..SpalteX

FROM   table) AS A[/INDENT]


WHERE A.rownum BETWEEN (@Start) AND (@Start + @RowsProSeite) 

Sowas?

Grüße

Ripper

Moin,

jou, genau dieser Weg wird dort beschrieben. Was wolltest du uns eigentlich sagen?

Reinhold

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.