запрос с подзапросом подсчета, внутренним соединением и группой

Я определенно новичок в SQL, я ломал голову, чтобы написать в Postgresql сложный запрос со следующей структурой таблицы:

CREATE TABLE reports
(
  reportid character varying(20) NOT NULL,
  userid integer NOT NULL,
  reporttype character varying(40) NOT NULL,  
)

CREATE TABLE users
(
  userid serial NOT NULL,
  username character varying(20) NOT NULL,
)

Цель запроса состоит в том, чтобы получить количество типов отчетов для каждого пользователя и отобразить его в одном столбце. Существует три различных типа отчетов.

Простой запрос с группировкой по решит проблему, но отобразит его в разных строках:

select count(*) as Amount,
       u.username,
       r.reporttype 
from reports r,
     users u 
where r.userid=u.userid 
group by u.username,r.reporttype 
order by u.username
7
задан Parag Tyagi -morpheus- 11 June 2016 в 13:43
поделиться