sql >> Database >  >> RDS >> Mysql

mysql-query PHP:ik wil dat een specifiek item de eerste is en kan de query wijzigen hoeveel items moeten worden weergegeven

Ik denk dat je de waarden moet opsommen, en variabelen zijn de eenvoudigste manier. Dan geeft een extra join je de informatie die je nodig hebt om te bestellen op de meest voorkomende namen in de tabel:

select t.*
from (select t.*,
             (@rn := if(@n = name, @rn + 1,
                        if(@rn := name, 1, 1)
                       )
             ) as rn
      from t cross join
           (select @n := '', @rn := 0
      order by name
     ) t join
     (select name, count(*) as cnt
      from t
      group by name
     ) tn
     on t.name = tn.name
where rn <= 4
order by cnt desc, name;



  1. Waarom kapt T-SQL ISNULL() de string af en COALESCE niet?

  2. Fout in php-bestand

  3. Een vooraf ingevulde database bijwerken

  4. Een PostgreSQL-database maken en verwijderen op Ubuntu 16.04