我的问题是关于百分比的,我不是专家所以我会尝试以更好的方式解释。
我的 mysql 服务器中有一个表,假设有 700 条记录,类似这样
+-------+---------+----------+-------+
| Name | country | language | Birth |
+-------+---------+----------+-------+
| Lucy | UK | EN | 1980 |
| Mari | Canada | FR | 1990 |
| Gary | Canada | EN | 1982 |
| Stacy | Jamaica | EN | 1986 |
| Joao | Brasil | PT | 1984 |
+-------+---------+----------+-------+
所以我查询了1980年到1985年之间的所有记录,结果是:
+------+---------+----------+-------+
| Name | country | language | Birth |
+------+---------+----------+-------+
| Lucy | UK | EN | 1980 |
| Gary | Canada | EN | 1982 |
| Joao | Brasil | PT | 1984 |
+------+---------+----------+-------+
从这个结果我想得到:
这些年之间每种语言出现的百分比
EN = 75% (3 is the total in this case) PT = 25%
结果表中出现的每个国家/地区的百分比
UK = 33% Canada = 33% Brasil = 33%
我的意思是如何将结果转换为变量以在最终函数中使用它们。
最佳答案
这可能行得通,但大致如下:
set @total_rows = (SELECT COUNT(*) FROM table WHERE Birth between 1980 and 1985);
SELECT language, percentage
FROM (
SELECT language, concat(count(language)/@total_rows, "%") AS percentage
FROM table WHERE Birth between 1980 and 1985
)
关于PHP MySql 百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12728900/