根据mySQL中另一列的值从列中获取最高百分比值

时间:2015-04-01 14:49:54

标签: mysql

我有这个查询来获取特定列中不同值的百分比:

select dma, count(*) / const.cnt *100 as my_percent 
from full_db3 cross join
 (select count(*) as cnt from full_db3) const
group by dma
order by my_percent desc limit 10;

第一步:我需要对此进行修改,以便根据另一列的值为我提供dma列中的前10个值。例如,如果列gender中的值为“f”,则列dma中的前10个值是多少。这样的事情(当然不起作用)。

select dma, count(*) where gender = 'female' / const.cnt *100 as my_percent 
from full_db3 cross join
 (select count(*) as cnt from full_db3) const
group by dma
order by my_percent desc limit 10;

上面引发了一个错误,但应该明白这一点。

第2步将遍历我的所有列并返回每列中的前10个值(不只是dma)给出特定列的值(例如,gender ='女性') 。最好的方法是什么?

0 个答案:

没有答案