SQL 计算派生的重复值有多少 table

SQL count how many duplicated values of a derived table

我知道这个问题被问了很多,但没有其他解决方案适合我。

我有这个查询:

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

returns 结果:

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 在 table 上出现了多少次。 一个简单的 count(nomefunc) 是行不通的。

如果有必要,我会 post 每个 table 的每个列名称。

提前致谢!

尝试以下操作:

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