sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur grupperar man efter datum med ett tidsstämpelfält i Postgres?

Du måste trunkera i GROUP BY likaså:

SELECT created_at::date, COUNT(*)
FROM table_name
WHERE product_uuid = '586d8e21b9529d14801b91bd' AND
      created_at > now() - interval '30 days'
GROUP BY created_at::date
ORDER BY created_at::date ASC;

Din version aggregeras efter varje datum/tidsvärde men visar bara datumkomponenten.

Jag skulle också rekommendera att du använder current_date snarare än now() så det första datumet är inte trunkerat.



  1. Uppdatera data via en tabellvärderad funktion i SQL Server

  2. Bästa sättet att välja slumpmässiga rader PostgreSQL

  3. Komma igång med SQL på Oracle Application Express

  4. PhalconPHP-databas går med i ORM