sql >> Databasteknik >  >> RDS >> PostgreSQL

gruppera efter datum aggregatfunktion i postgresql

I nuläget är det oklart vad du vill att Postgres ska returnera. Du säger att den ska beställas efter persons.updated_at men du hämtar inte det fältet från databasen.

Jag tror att det du vill göra är:

SELECT date(updated_at), count(updated_at) as total_count 
FROM "persons"
WHERE ("persons"."updated_at" BETWEEN '2012-10-17 00:00:00.000000' AND '2012-11-07     12:25:04.082224') 
GROUP BY date(updated_at)
ORDER BY count(updated_at) DESC -- this line changed!

Nu säger du uttryckligen till DB:n att sortera efter det resulterande värdet från COUNT-aggregatet. Du kan också använda:ORDER BY 2 DESC , som effektivt talar om för databasen att sortera efter den andra kolumnen i resultatuppsättningen. Men jag föredrar starkt att uttryckligen ange kolumnen för tydlighetens skull.

Obs att jag för närvarande inte kan testa den här frågan, men jag tror att det här borde fungera.



  1. Finns det på något sätt att skicka en json-array till serversidan php och infoga dess värden i en tabell?

  2. spara List<Model class> till sqlite

  3. excel vba mysql ado-anslutning

  4. Tecken med bytesekvens 0x9d i kodningen 'WIN1252' har ingen motsvarighet i kodningen 'UTF8'