Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Felder mit gleichem Wert zählen

Jetzt, da Sie eine Ansicht haben, die Ihre komplizierte Logik umschließt, könnten Sie eine Abfrage wie folgt strukturieren, um das zu erhalten, wonach Sie suchen:

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]

Zusätzliche Hinweise:(1) Dies ist möglicherweise nicht leistungsfähig, aber einen Versuch wert, da diese Abfrage nicht von Ihnen stammt! Die Optimierung dieser Abfrage wäre ein Monster. (2) Sie haben eine ORDER BY-Klausel, die Ihrer Ansicht nach eine unnötige Leistungseinbuße darstellt. Sie sollten das entfernen und das gewünschte ORDER BY in Ihrer Abfrage ausführen, nicht in Ihrer Ansicht.