Mysql 计算组计数的百分比(*)
如何获取给定格式的百分比值Mysql 计算组计数的百分比(*),mysql,sql,Mysql,Sql,如何获取给定格式的百分比值 Select * from Namelist; Name Age Sathish 25 Sathish 65 Sathish 55 Sathish 45 Sathish 35 Jana 55 Jana 25 Jana 10 Bala 55 Bala 26 请共享sql查询?此查询(未测试)应能正常工作: Name Count Percentege Sathish 5 5
Select * from Namelist;
Name Age
Sathish 25
Sathish 65
Sathish 55
Sathish 45
Sathish 35
Jana 55
Jana 25
Jana 10
Bala 55
Bala 26
请共享sql查询?此查询(未测试)应能正常工作:
Name Count Percentege
Sathish 5 50%
Jana 3 30%
Bala 2 20%
替换列名并尝试以下操作:
SELECT Name,
COUNT(*) AS Count,
(COUNT(*) / _total ) * 100 AS Percentege
FROM Namelist,
(SELECT COUNT(*) AS _total
FROM Namelist) AS myTotal
GROUP BY Name;
输出:
SELECT iName,
COUNT(iName) AS `Count`,
concat(FORMAT(((COUNT(iName) * 100) / NewPeople.iCount),2),'%') AS `Percentage`
FROM people, (SELECT COUNT(iName) AS iCount FROM people) NewPeople
GROUP BY iName;
这是一些其他答案的一个稍微性感的版本-注意使用了
sum(100)
,以避免更长(更普通)的count(*)*100
:)
平均值不产生百分比-它产生平均值!萨提斯-你愿意接受其中一个答案吗?已经好几个星期了。我们为您投入了工作-您至少可以接受一个或评论,这些都不适用于您不要在SQL上这样做(需要很长时间),请使用您的编程语言。
Name Count Percentage
Sathish 5 50.00%
Jana 3 30.00%
Bala 2 20.00%
select
name,
count(name) as `count`,
count(name)/(select count(*) from namelist)*100 as pct
from namelist
group by name
select name, count(*) as count, sum(100) / total as percentage
from namelist
cross join (select count(*) as total from namelist) x
group by 1