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

Sprawianie, że `grupuj według` daje wiele kolumn

Możesz użyć agregacji warunkowej, jeśli wiadomo, że liczba odrębnych wartości w kolumnie irt_tlevel jest stała.

select 
extract(year from a.created) as Year,
a.testscoreid, 
sum(case when b.irt_tlevel = 'Low' then 1 else 0 end) as Low,
sum(case when b.irt_tlevel = 'Medium' then 1 else 0 end) as Medium,
sum(case when b.irt_tlevel = 'High' then 1 else 0 end) as High,
count(*) as Questions
from asmt.testscores a 
join asmt.questions b on a.questionid = b.questionid
where a.answered = True
group by Year, a.testscoreid
order by Year desc, a.testscoreid


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuwanie rekordów ze zdalnej bazy postgresql przy użyciu lokalnie dostarczonej listy

  2. Połącz tabele w kolumnach złożonego klucza obcego/podstawowego w zapytaniu

  3. ActiveRecord próbuje połączyć się z niewłaściwą bazą danych za pomocą rbenv

  4. pobierz ostatnie trzymiesięczne rekordy z tabeli

  5. Postgres znajduje pliki konfiguracyjne w linux