sql >> Databáze >  >> RDS >> Mysql

Počítání polí se stejnou hodnotou

Nyní, když máte pohled zabalující vaši komplikovanou logiku, můžete strukturovat dotaz takto, abyste získali to, co hledáte:

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]

Dodatečné poznámky:(1) Toto nemusí být výkonné, ale stojí za to vyzkoušet, protože jste tento dotaz nezadali vy! Optimalizovat tento dotaz by byla bestie. (2) Máte klauzuli ORDER BY, která je zbytečným zásahem do výkonu. Měli byste to odstranit a provést požadované ORDER BY ve svém dotazu, nikoli ve svém zobrazení.




  1. Vyberte řádky pro konkrétní datum pomocí datového typu TIMESTAMP

  2. Jak najít rozdíl mezi dvěma tabulkami MySQL pomocí příkazu MySQL?

  3. Android – dotaz JSON mySQL poskytuje výjimku NetworkOnMainThreadException

  4. PHP Třídění nejbližších souřadnic