Zum Inhalt springen

SQL Abfrage aber wie ?


Leifu

Empfohlene Beiträge

Hallo an alle MSSQL Freaks,

ich hab da mal ein Problem.

Ich habe eine Tabelle. Diese Tabelle besteht aus mehreren Einträge. Ich will nun eine Abfrage haben die mir diese Tabelle anzeigt jedoch die erst 50 Einträge nicht anzeigt. Quasi ab dem 51. Wie kann ich das machen ?

Über eure Ideen würde ich mich freuen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich hätte eine idee, wie das funktionieren könnte, ist aber für einen grossen Datenbestand nicht gerade performant:

  • erstelle 2 identische Views der Tabelle

  • Dann löscht du aus dem 2ten View die ersten 49 Zeilen (LIMIT)

  • mittels INTERSECT die beiden Views abgleichen. Dadurch werden dir nur die Daten angezeigt, die in beiden VIEWs enthalten sind. da in einem view die ersten 49 Zeilen fehlen, werden dir mit INTERSECT alle Daten ab zeile 50 ausgegeben

da ich aber nicht sicher bin, ob das funktioniert, probier das erstmal auf einer testumgebung.

Gruß

Die Lady

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Leifu,

ich hoffe, du bist dir darueber im klaren, dass eine Tabelle per Definition erstmal nicht softiert ist. Ohne Sortierkriterium kannst du also auch keine "ersten" 50 Eintraege ermitteln, die du weglassen willst.

Ansonsten gehts ab SQL Server 2005 wie schon von dr.dimitri erwaehnt ueber die ROW_NUMBER() Funktion und bei kleineren SQL Server Versionen ueber ne korrelierte Subquery in der du deine Zeilennummern selbt ermittelst.

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das kann dann in etwa so ausschaun.

WITH mycte AS (SELECT *, ROW_NUMBER() OVER (ORDER BY col1 ASC) AS 'row_num' FROM tabelle1 )

SELECT col1, col2, col3 FROM mycte WHERE row_num > 50

Du benutzt dabei einen CTE (mycte) in dem du eine Zeilennummer generierst. Die Zeilennummer wird generiert ueber die Spalte col1 aufsteigend.

Danach selektierst du alles was du von der Tabelle brauchst von deinem CTE und kannst auf die generierte Zeilnnummerspalte (row_num) zugreifen .

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...