So wählen Sie eine Zeile basierend auf der Zeilen-Nummer?
Ich arbeite an einem kleinen Projekt, in dem werde ich brauchen, um wählen Sie einen Datensatz aus einer temporären Tabelle basiert auf der aktuellen Zeile Nummer der Aufzeichnung.
Wie kann ich einen Datensatz auswählen, basierend auf der Zeilen-Nummer?
Hast du Google nach "
Eigentlich Datensätze in Tabellen nicht zahlen. Bis Sie eingestellt
Wenn Sie mit SQL 2012 nutzen Sie die sequence-Befehl in eine Spalte. Vertrauen Sie mir, es ist ein life saver.
row_number()
- Funktion in sql"? Was ist Ihre sql-server-version?Eigentlich Datensätze in Tabellen nicht zahlen. Bis Sie eingestellt
ORDER BY
in der Abfrage Zeile die Nummerierung gilt nicht.Wenn Sie mit SQL 2012 nutzen Sie die sequence-Befehl in eine Spalte. Vertrauen Sie mir, es ist ein life saver.
InformationsquelleAutor Kehlan Krumme | 2013-10-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein paar von den anderen Antworten angesprochen, das problem, aber das könnte es erklären. Es ist wirklich nicht ein, um stillschweigend in SQL (set-Theorie). So finden Sie in der "fünften Reihe", verlangt Sie die Einführung des Konzepts
In der Unterabfrage eine Zeile Nummer "angelegt" durch die Festlegung der Reihenfolge, die Sie erwarten. Nun ist die äußere Abfrage ist in der Lage, ziehen Sie den fünften Eintrag aus der geordneten Menge.
InformationsquelleAutor asantaballa
Technisch SQL Zeilen nicht "RowNumbers" in Ihren Tabellen. Einige Implementierungen (Oracle, glaube ich) bieten Ihre eigenen, aber das ist nicht standard und SQL Server/T-SQL nicht. Sie können hinzufügen, um die Tabelle (eine Art) mit einer IDENTITY-Spalte.
Oder Sie können hinzufügen, ein (tatsächlich) in einer Abfrage mit ROW_NUMBER() Funktion, aber es sei denn, Sie geben Ihre eigene, einzigartige, UM für die Zeilen, die ROW_NUMBERS zugewiesen werden, nicht-deterministisch.
ROWID
die nicht eine Zeile "Nummer", sondern die physikalische Adresse der Zeile.Richtig, das war es.
InformationsquelleAutor RBarryYoung
Was du suchst ist die
row_number()
Funktion, wie die Konrad-Adenauer-Stiftung erwähnt in den Kommentaren.Hier ist ein Beispiel:
InformationsquelleAutor James Johnson
Wenn mit SQL Server 2012 können Sie jetzt mit offset/fetch:
InformationsquelleAutor Moho
Gibt es 3 Möglichkeiten, dies zu tun.
Angenommen, u habe eine Mitarbeiter-Tabelle mit den Spalten als
emp_id
,emp_name
,salary
. Sie brauchen die top-10-Mitarbeiter hat höchste Gehalt.Mit
row_number()
analytische FunktionMit
rank()
analytische FunktionMit
rownum
InformationsquelleAutor Amit Agarwal