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

mysql-forespørgsel PHP:Jeg ønsker at et specifikt emne skal være først og kan ændre forespørgslen, hvor mange elementer der skal vises

Jeg tror, ​​du skal opregne værdierne, og variabler er den enkleste måde. Derefter giver et ekstra join dig de oplysninger, du skal bruge for at bestille efter de hyppigste navne i tabellen:

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. Hvorfor giver denne PostgreSQL-transaktion ADVARSEL:der er ingen transaktion i gang

  2. Formateringsdato for Postgresql

  3. foreach %dopar% + RPostgreSQL

  4. SQL Server-forespørgsel:Hurtig med bogstavelig men langsom med variabel