PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

група по дата агрегатна функция в postgresql

В момента не е ясно какво искате да върне Postgres. Казвате, че трябва да се подрежда по persons.updated_at но не извличате това поле от базата данни.

Мисля, че това, което искате да направите, е:

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!

Сега вие изрично казвате на DB да сортира по получената стойност от COUNT-aggregate. Можете също да използвате:ORDER BY 2 DESC , ефективно казвайки на базата данни да сортира по втората колона в набора от резултати. Въпреки това силно предпочитам изрично да посочвам колоната за яснота.

Забележка че в момента не мога да тествам тази заявка, но мисля, че това трябва да работи.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Показване на името на приложението в Информацията за сесията при свързване чрез JDBC

  2. Свързване на PostgreSQL 9.2.1 с Hibernate

  3. 'stuff' и 'for xml path('')' от SQL Server в Postgresql

  4. качване на шев файл в postgres bytea колона колона е bytea, но изразът е от тип bigint

  5. Получавам pg грешка, когато се опитвам да унищожа контролер