【发布时间】:2021-01-21 12:32:24
【问题描述】:
有一个像底部一样的桌子。
+-------+---------+----------+-------+
| type | ip | line | count |
+-------+---------+----------+-------+
| x | 1 | EN | 10 |
| x | 1 | FR | 10 |
| x | 2 | EN | 5 |
| x | 5 | EN | 5 |
| y | 3 | CH | 10 |
| y | 3 | PT | 10 |
| y | 4 | PT | 10 |
| y | 6 | EN | 10 |
+-------+---------+----------+-------+
我正在尝试根据内部类型的 ip 计算行的百分比。实际上计数不用于计算百分比,我只查看特定行的数量并将其除以总行数。所以,我希望看到这样的结果,我在桌子旁边举个例子。
+-------+---------+----------+
| line | type | percent |
+-------+---------+----------+
| EN | x | %100 |--> There are 3 EN and 3 ip inside the X, So 3/3=%100
| FR | x | %33 |
| CH | y | %33 |
| PT | y | %66 |
| EN | y | %33 |
+-------+---------+----------+
所以,我尝试了,但我无法在 sql 中达到该结果。
【问题讨论】:
-
请添加您尝试过的内容。
group by line, type可能是一个起点 -
你的主键是什么?
-
为什么主键在这种情况下很重要
-
如果你没有 PRIMARY KEY,那么你就没有真正的桌子。
标签: php mysql group-by percentage