sql >> Database teknologi >  >> RDS >> Mysql

Tæller felter med samme værdi

Nu hvor du har en visning, der omslutter din komplicerede logik, kan du strukturere en forespørgsel som denne for at få det, du leder efter:

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]

Yderligere bemærkninger:(1) Dette er muligvis ikke effektivt, men det er værd at prøve, da du ikke stammede fra denne forespørgsel! At optimere denne forespørgsel ville være et udyr. (2) Du har en ORDER BY-klausul i din mening, som er et præstationshit, der er unødvendigt. Du bør fjerne det og udføre den ønskede ORDER BY i din forespørgsel, ikke i din visning.




  1. PERIOD_DIFF() Eksempler – MySQL

  2. Escapende kontroltegn i Oracle XDB

  3. Oracle Trigger WHEN-klausuleksempel

  4. Oracle 11g på Mac OS X