Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 计算组计数的百分比(*)_Mysql_Sql - Fatal编程技术网

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