PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

funkcja agregująca grupuj według daty w postgresql

W tej chwili nie jest jasne, co chcesz, aby Postgres wrócił. Mówisz, że należy zamówić przez persons.updated_at ale nie pobierasz tego pola z bazy danych.

Myślę, że chcesz zrobić:

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!

Teraz wyraźnie mówisz DB, aby sortował według wartości wynikowej z agregacji COUNT. Możesz także użyć:ORDER BY 2 DESC , skutecznie informując bazę danych o sortowaniu według drugiej kolumny w zestawie wyników. Jednak zdecydowanie wolę wyraźnie zaznaczyć tę kolumnę dla jasności.

Uwaga że obecnie nie mogę przetestować tego zapytania, ale myślę, że to powinno działać.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najlepszy sposób na losowe wybieranie wierszy PostgreSQL

  2. Dlaczego najlepiej przechowywać numer telefonu jako ciąg, a nie jako liczbę całkowitą?

  3. Django-DB-Migration:nie można ALTER TABLE, ponieważ ma oczekujące zdarzenia wyzwalające

  4. Zwróć tablicę UUID PostgreSQL jako listę z psycopg2

  5. Dostrajanie wydajności:Utwórz indeks dla kolumny logicznej