sql >> Database >  >> RDS >> Sqlserver

Retourneer rijen in de exacte volgorde waarin ze zijn ingevoegd

Een select zoekopdracht zonder order by doet niet haal de rijen in een bepaalde volgorde op. Je moet een order by om een ​​bestelling te krijgen.

SQL Server heeft geen standaardmethode voor het ophalen op volgorde van invoegen. U kunt het doen, als u de informatie in de rij hebt. De beste manier is een kolom voor de identiteit van de primaire sleutel:

TableId int identity(1, 1) not null primary key

Zo'n kolom wordt verhoogd als elke rij wordt ingevoegd.

U kunt ook een CreatedAt . hebben kolom:

CreatedAt datetime default getdate()

Dit kan echter duplicaten bevatten voor gelijktijdige invoegingen.

Het belangrijkste punt is echter dat een select zonder order by clausule geeft een ongeordende reeks rijen terug.



  1. SQL Tabel vullen met willekeurige gegevens

  2. Fix "ERROR 1054 (42S22):Onbekende kolom '...' in 'bestellingsclausule' bij gebruik van UNION in MySQL

  3. De huidige aanmeldings-ID ophalen in SQL Server (T-SQL)

  4. Ontbrekende velden corrigeren in een kruistabelquery in Access