SQL подсчитывает, сколько дублированных значений в производной таблице - PullRequest
0 голосов
/ 27 июня 2018

Я знаю, что об этом часто спрашивают, но никакое другое решение не помогло мне.

У меня есть этот запрос:

SELECT 
    us.id AS idUser, ut.id AS idUtente, us.nome AS nomefunc 
FROM 
    utentes ut 
JOIN 
    historico h ON h.idUtente = ut.id 
JOIN 
    users us ON h.idMedico = us.id 
GROUP BY 
    idUser, idUtente

, который возвращает эти результаты:

idUser | idUtente | nomefunc
-------+----------+----------
  1    |    1     | Pedro
  1    |    2     | Pedro
  1    |    3     | Pedro
  1    |    4     | Pedro
  1    |    5     | Pedro
  2    |    1     | Filipe
  2    |    2     | Filipe
  3    |    1     | Francisco
  5    |    2     | Miguel

Теперь я хочу посчитать, сколько раз каждый nomefunc появляется на столе. Простой count(nomefunc) не будет работать.

Если обязательно, я опубликую название каждой колонки для каждой таблицы.

Заранее спасибо!

1 Ответ

0 голосов
/ 27 июня 2018

Попробуйте следующее:

select 
    nomefunc, 
    count(*)
From
(
SELECT 
    us.id AS idUser, ut.id AS idUtente, us.nome AS nomefunc 
FROM 
    utentes ut 
JOIN 
    historico h ON h.idUtente = ut.id 
JOIN 
    users us ON h.idMedico = us.id 
GROUP BY 
    idUser, idUtente
) as X
Group by
    nomefunc
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...