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

Sorter poster efter indsat tid

Hvis du ikke har et felt, der gemmer tidspunktet for indsættelse, eller andre metadata vedrørende rækkefølgen af ​​indsættelse, er der ingen pålidelig måde at få disse oplysninger på.

Du kan måske være afhængig af en klynget indeksnøgle, men disse er ikke garanteret. Det er IDENTITY heller ikke felter eller andre automatisk genererede felter.

For at præcisere, en IDENTITY feltet øger automatisk, men...

  • Du kan indsætte eksplicitte værdier med IDENTITY_INSERT
  • Du kan gense og begynde at genbruge værdier
  • Der er ingen indbygget håndhævelse af unikhed for et identitetsfelt

Hvis ID-feltet er din PK, kan du sikkert bruge det til at få en grov idé:

SELECT *
FROM MyTable
ORDER BY IdField ASC

Ifølge din kommentar er feltet en GUID . I så fald er der ingen måde at returnere nogen form for pålidelig ordre siden GUID s er i sagens natur tilfældige og ikke-sekventielle.



  1. Udvikling af PostgreSQL til Windows, del 3

  2. Hvert GROUP BY-udtryk skal indeholde mindst én kolonne, der ikke er en ydre reference

  3. Sådan optimerer du brugen af ​​OR-klausulen, når den bruges med parametre (SQL Server 2008)

  4. Hvordan kører man multiple insert-forespørgsler i SQL ved hjælp af PHP på én gang?