我有一张和下面那张一样的table。。。我需要他们使用下表的查询得到的数据。我需要的是计算公式为sum(column3)/total(column3)*100或((0.3333/0.9999)*100)的百分比。我已经搜索过了,但是没有找到任何可以用mysql做的东西。。有可能吗?谁能给我一些小费吗?
+----------+---------+----------+--------+
| column1 | column2 | column3 | percentage |
+----------+---------+---------+------------+
| negative | 1 | 0.3333 | % |
| neutral | 1 | 0.3333 | % |
| positive | 1 | 0.3333 | % |
+----------+---------+----------+-----------+
| Total | 3 | 0.9999 | % |
+----------+---------+----------+-----------+
SELECT
column1_text,
sum(column2_number) as 'column2',
sum(column3_number) as 'column3',
percentage_here as 'percentage'
FROM table
GROUP BY column1 ASC WITH ROLLUP
1条答案
按热度按时间yx2lnoni1#
我们可以使用内联视图来计算总数,并执行联接操作。
像这样:
mysql运行内联视图查询来具体化派生表
s
,由一行和第3\u列组成。该行与从
t
,所以col3_tot
在每一行上都可用,我们可以在选择列表的表达式中使用它。(我省略了
WITH ROLLUP
条款来说明WITH ROLLUP
与获取总数或计算百分比无关。)