计算组数百分比(*)

Sat*_*ert 5 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
Run Code Online (Sandbox Code Playgroud)

如何获得给定格式的百分比值;

Name   Count   Percentege
Sathish  5     50%
Jana     3     30%
Bala     2     20%
Run Code Online (Sandbox Code Playgroud)

请分享SQL查询?

Boh*_*ian 10

这是一些其他答案的略显性感的版本 - 注意使用sum(100)避免更长(和更平凡)count(*) * 100:)

select name, count(*) as count, sum(100) / total as percentage
from namelist
cross join (select count(*) as total from namelist) x
group by 1
Run Code Online (Sandbox Code Playgroud)


ale*_*oot 2

这个查询(未经测试)应该有效:

SELECT Name,
COUNT(*) AS Count,
(COUNT(*) / _total ) * 100 AS Percentege
FROM Namelist,
(SELECT COUNT(*) AS _total
  FROM Namelist) AS myTotal
GROUP BY Name;
Run Code Online (Sandbox Code Playgroud)