我有这样的数据库设置:
表格reviews
+ -------- +
| review |
+ -------- +
| awda |
| ggagw |
| okok |
| ligjr |
| kkfm |
| seff |
| oawr |
| abke |
| (null) |
| (null) |
| (null) |
| (null) |
| (null) |
| (null) |
| (null) |
+ -------- +
如何获得有多少行的百分比,哪些是非空?
我想要的基本“公式”:
percentage = 100 *((review
不为空的行数之和)/(行数))
对于上面的示例,这将是: 百分比= 100 *((8)/(15)) = 53.33333333
如何只使用一个MySQL查询来实现这一目标?
答案 0 :(得分:2)
我认为最简单的方法是:
select avg( review is not null ) * 100
from reviews;
MySQL将布尔表达式视为数字上下文中的数字,0表示false,1表示true。
类似的方法做了明确的划分:
select 100*count(review) / count(*)
from reviews;