Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Ordina i record per ora inserita

Se non disponi di un campo che memorizza l'ora di inserimento o altri metadati relativi all'ordine di inserimento, non esiste un modo affidabile per ottenere queste informazioni.

Potresti forse dipendere da una chiave di indice cluster, ma queste non sono garantite. Nemmeno IDENTITY campi o altri campi generati automaticamente.

Per chiarire, un IDENTITY il campo si auto-incrementa, ma...

  • Puoi inserire valori espliciti con IDENTITY_INSERT
  • Puoi riseminare e iniziare a riutilizzare i valori
  • Non esiste un'applicazione incorporata dell'unicità per un campo di identità

Se il campo ID è il tuo PK, probabilmente puoi usarlo per farti un'idea approssimativa:

SELECT *
FROM MyTable
ORDER BY IdField ASC

Secondo il tuo commento, il campo è un GUID . In tal caso, non c'è modo di restituire alcun tipo di ordine affidabile poiché GUID Le s sono intrinsecamente casuali e non sequenziali.