sql >> Databasteknik >  >> RDS >> Sqlserver

SQL för att mata ut radnummer i resultat av en fråga

Det beror på vilken databas du använder. Ett alternativ som fungerar för SQL Server, Oracle och MySQL:

SELECT ROW_NUMBER() OVER (ORDER BY SomeField) AS Row, *
FROM SomeTable

Ändra SomeField och SomeTable är enligt din specifika tabell och relevanta fält att beställa efter. Det är att föredra att SomeField är unikt i frågans sammanhang, naturligtvis.

I ditt fall skulle frågan vara som följer (Faiz skapade en sådan fråga först):

SELECT ROW_NUMBER() OVER (ORDER BY client_name) AS row_number, client_name
FROM (SELECT DISTINCT client_name FROM deliveries) TempTable

Jag tror att det inte kommer att fungera för SQLite (om någon kan rätta mig här skulle jag vara tacksam), jag är inte säker på vad som är alternativet där.



  1. MySQL-fel 1452 (23000):Det går inte att lägga till eller uppdatera en underordnad rad

  2. Verktyg för översättning av Oracle PL/SQL till Postgresql PL/pgSQL

  3. Introduktion till Slowly Changing Dimensions (SCD)

  4. PostgreSQL 9.5:Dölj lösenord från dblink-anslutning