Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Contando campos com o mesmo valor


Agora que você tem uma visão que envolve sua lógica complicada, você pode estruturar uma consulta como esta para obter o que está procurando:
SELECT vt.*, vtij.nome_count
FROM view_teste vt
    INNER JOIN (SELECT Nome, count(1) as nome_count FROM view_teste
        WHERE [additional_filter_conditions]
            GROUP BY Nome) vtij on vtij.Nome = vt.Nome
WHERE [additional_filter_conditions]

Notas adicionais:(1) Isso pode não ter bom desempenho, mas vale a pena tentar, pois você não originou esta consulta! Otimizar essa consulta seria uma fera. (2) Você tem uma cláusula ORDER BY em sua visão que é um impacto de desempenho desnecessário. Você deve remover isso e fazer o ORDER BY desejado em sua consulta, não dentro de sua visualização.