Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Sortuj rekordy według czasu wstawionego

Jeśli nie masz pola przechowującego czas wstawiania ani żadnych innych metadanych dotyczących kolejności wstawiania, nie ma niezawodnego sposobu na uzyskanie tych informacji.

Być może możesz polegać na kluczu indeksu klastrowego, ale nie jest to gwarantowane. Podobnie jak IDENTITY pola lub inne pola generowane automatycznie.

Aby wyjaśnić, IDENTITY pole automatycznie się zwiększa, ale...

  • Możesz wstawić jawne wartości za pomocą IDENTITY_INSERT
  • Możesz ponownie zasiać i zacząć ponownie używać wartości
  • Nie ma wbudowanego wymuszania unikalności pola tożsamości

Jeśli pole ID jest Twoim PK, prawdopodobnie możesz go użyć, aby uzyskać przybliżony pomysł:

SELECT *
FROM MyTable
ORDER BY IdField ASC

Zgodnie z Twoim komentarzem pole to GUID . W takim przypadku nie ma możliwości zwrócenia jakiejkolwiek wiarygodnej kolejności, ponieważ GUID s są z natury losowe i niesekwencyjne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz tabelę z kompresją w SQL Server (T-SQL)

  2. Jak zmienić język i format daty w SQL Server?

  3. Nieoczekiwane zachowanie @@rowcount wewnątrz UDF w MS SQL 2019

  4. Znajdowanie duplikatów w jednej kolumnie za pomocą wybierz gdzie w SQL Server 2008

  5. Nie można załadować biblioteki DLL „SqlServerSpatial.dll”