sql >> Databáze >  >> RDS >> PostgreSQL

seskupit podle data agregační funkce v postgresql

V tuto chvíli není jasné, co chcete, aby se Postgres vrátil. Říkáte, že by to mělo být objednáno podle persons.updated_at ale toto pole nenačtete z databáze.

Myslím, že to, co chcete udělat, je:

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!

Nyní explicitně říkáte DB, aby třídila podle výsledné hodnoty z COUNT-agregátu. Můžete také použít:ORDER BY 2 DESC , což efektivně říká databázi, aby třídila podle druhého sloupce v sadě výsledků. Velmi preferuji explicitní uvedení sloupce pro jasnost.

Poznámka že momentálně nemohu tento dotaz otestovat, ale myslím, že by to mělo fungovat.



  1. Jak ověřit datum RRRRMMDD uvedené jako parametr PL/SQL

  2. Zkrácení serveru SQL Server a omezení 8192

  3. Chyba v Spring Data JPA:Spring Data vrací List<BigInteger> namísto List<Long>

  4. mysql date zobrazit výsledky dnes/včera/týden