sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag få procentandelen av totala rader med mysql för en grupp?

Ja du kan:

select num, string, 100 * num / total as percent
from (
    select count(*) as num, string
    from useragent_ip
    left join useragents on useragent_id = useragents.id
    group by useragent_id) x
cross join (
    select count(*) as total
    from useragent_ip
    left join useragents on useragent_id = useragents.id) y
order by num desc, string;

Jag tog bort having num > 2 , för det verkade inte vara vettigt.



  1. PHP:Dynamisk rullgardinsmeny med optgroup

  2. PostgreSQL - Lägg till nyckel till varje objekt i en JSONB-array

  3. Hämta namnet på en rads källtabell när du frågar efter den förälder som den ärver från

  4. Hur lägger man till en redigeringsknapp på varje rad i en rapport i Oracle APEX?