我有一个包含允许空值的列的表.如果值为null则不完整.我想计算完成百分比.
这可以通过SQL在MySQL中完成,还是应该获取总条目和总空条目并计算服务器上的百分比?
无论哪种方式,我都很困惑我需要如何分离variable_value以便我可以得到它的总结果以及它的总NULL结果.
SELECT
games.id
FROM
games
WHERE
games.category_id='10' AND games.variable_value IS NULL
Run Code Online (Sandbox Code Playgroud)
这给了我所有variable_value为NULL的游戏.我如何扩展这个以使我得到TOTAL游戏或游戏NOT NULL以及它?
表格架构:
id(INT Primary Auto-Inc)
category_id(INT)
variable_value(TEXT允许空值默认值:NULL)
Car*_*lin 19
将"Count"与列名一起使用时,不包括空值.所以要使计数或百分比不为空,只需这样做......
SELECT
count(1) as TotalAll,
count(variable_value) as TotalNotNull,
count(1) - count(variable_value) as TotalNull,
100.0 * count(variable_value) / count(1) as PercentNotNull
FROM
games
WHERE
category_id = '10'
Run Code Online (Sandbox Code Playgroud)
SELECT
SUM(CASE WHEN G.variable_value IS NOT NULL THEN 1 ELSE 0 END)/COUNT(*) AS pct_complete
FROM
Games G
WHERE
G.category_id = '10'
Run Code Online (Sandbox Code Playgroud)
您可能需要对SUM()进行一些转换,以便获得小数.
| 归档时间: |
|
| 查看次数: |
11311 次 |
| 最近记录: |