Guten Morgen,
ich weiß, altes Thema aber ich bekomme ein Detail nicht gebacken. Mit der bekannten Methode:
SELECT (select count (*) FROM [Tabelle] as Tab WHERE [Tab].[ID] < [Tabelle].[ID]) +1 AS LaufNr, Zeitstempel,
FROM Tabelle
funktioniert die laufende Nummer gut. Nun möchte ich aber den Zeitstempel zusätzlich aufsteigend sortiert haben. (Mit laufender Nummer) etwa so:
1. 01.01.2020
2. 03.04.2020 etc.
füge ich ein ORDER BY Zeitstempel ein ist die Laufende Nummer durcheinander. Weiß jemand wie das geht??? VIELEN DANK!!
Hallo,
da der Zeitstempel (datumsfeld) intern auch nur eine Zahl ist, kannst du diese zum Nummerieren nutzen.SELECT
(SELECT COUNT (*)
FROM [Tabelle] AS Tab
WHERE [Tab].[zeitstempel] < [Tabelle].[zeitstempel])+1 AS LaufNr, Zeitstempel
FROM Tabelle
ORDER BY Zeitstempel;
Vielen Dank für die Antwort, probiere ich aus...
Zitat von: steffen0815 am Dezember 29, 2020, 10:49:50Hallo,
da der Zeitstempel (datumsfeld) intern auch nur eine Zahl ist, kannst du diese zum Nummerieren nutzen.SELECT
(SELECT COUNT (*)
FROM [Tabelle] AS Tab
WHERE [Tab].[zeitstempel] < [Tabelle].[zeitstempel])+1 AS LaufNr, Zeitstempel
FROM Tabelle
ORDER BY Zeitstempel;
Hallo, auf den ersten Blick sah das gut aus. Allerdings hab ich nun vereinzelt "Sprünge" in der Laufenden Nummer. D.h. am Ende ist die Laufende Nummer gräßer als die Anzahl der Datensätze. (Wenn auch nur gering) Woran könnte das liegen??
Hallo,
das Ganze funktioniert nur wenn der Zeitstempel eindeutig ist.
Allerdings sollten bei identischen Zeitstempel die Laufnummer kleiner als die Datensatzanzahl sein.
Zitat von: steffen0815 am Dezember 29, 2020, 10:49:50Hallo,
da der Zeitstempel (datumsfeld) intern auch nur eine Zahl ist, kannst du diese zum Nummerieren nutzen.SELECT
(SELECT COUNT (*)
FROM [Tabelle] AS Tab
WHERE [Tab].[zeitstempel] < [Tabelle].[zeitstempel])+1 AS LaufNr, Zeitstempel
FROM Tabelle
ORDER BY Zeitstempel;
Funktioniert, die zusätzlichen Eigenschaften in der WHERE Klausel des COUNTs waren nicht sauber in Abfrage
und Unterabfrage. Vielen Dank!!!