我有一个大约有4万行和240列的大表。有些列是true / false作为唯一可能的值。其他人有多种可能的字符串我需要生成的基本上是一个聚合报告,它将显示每列的所有可能值以及具有该值的总行的百分比(例如,第5列中所有行的百分比是“向上”,百分比是多少“向下”,“剩下”的百分比等等。)
我所能得到的只是在一列中找到不同值的计数:
SELECT direction, COUNT(*) as count from full_db3 group by direction order by count desc
这给了我总行数:
Select COUNT(*) as count from full_db3
我不知道如何将这些结合起来给我百分之而不是计数。这也只给我一个列的结果,我正在寻找一种循环遍历每一列并获得结果的方法。
答案 0 :(得分:0)
你的问题令人生畏的原因是你有240列。如果这是一次性报告,Excel或Tablaeu可能是创建具有基本统计信息的快速数据透视表的好选择。
如果您需要在MySQL中执行此操作,则需要返回您关注的每列中每个不同值的计数。将名为“COLUMN1”的列添加为可能的值0,1和2.
select
COLUMN1
, ROUND( //Round to help control the output
(count(COLUMN1)* 100 / (select count(*) from TABLE)
), 2)
as Percentage
from TABLE;
这将为您提供列中每个值的百分比。由于240列中的每一列都有不同的不同值,因此不要尝试将所有不同的百分比图表合并在一起。希望这有助于您开始朝着正确的方向前进。