sql >> Databasteknik >  >> RDS >> PostgreSQL

Ta bort dubbletter av rader baserat på fält i en urvalsfråga med PostgreSQL?

Använd DISTINCT ON :

SELECT DISTINCT ON (contenthash)
  id,
  contenthash,
  filesize,
  to_timestamp(timecreated) :: DATE
FROM mdl_files
ORDER BY contenthash, timecreated, id;

DISTINCT ON är en Postgres-tillägg som ser till att returnera en rad för varje unik kombination av nycklar inom parentes. Den specifika raden är den första som hittas baserat på order by klausul.



  1. Något sätt att sammanfoga dessa två frågor utan subquery?

  2. Gruppera efter månad och returnera 0 om data inte hittas

  3. Hur man ändrar kommandoradstolken i SQLite

  4. Python sqlite3 platshållare