sql >> Database >  >> RDS >> Mysql

Velden tellen met dezelfde waarde

Nu je een overzicht hebt van je gecompliceerde logica, zou je een query als deze kunnen structureren om te krijgen wat je zoekt:

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]

Aanvullende opmerkingen:(1) Dit is misschien niet performant, maar het is het proberen waard, aangezien u deze zoekopdracht niet hebt gemaakt! Het optimaliseren van deze query zou een beest zijn. (2) U hebt een ORDER BY-clausule in uw ogen, wat een prestatiehit is die niet nodig is. U moet dat verwijderen en de gewenste ORDER BY in uw zoekopdracht doen, niet in uw weergave.




  1. Selecteer gebruikers die zowel een hond als een kat hebben

  2. oracle converteer unix tijdperk tot nu toe

  3. Een ODBC-gekoppelde server maken zonder een gegevensbron te configureren

  4. PIVOT-, UNPIVOT- en Reverse PIVOT-statements begrijpen