我有一个包含允许空值的列的表.如果值为null则不完整.我想计算完成百分比.
这可以通过sql在MySQL中完成,还是应该获取总条目和总空条目并计算服务器上的百分比?
无论哪种方式,我都很困惑我需要如何分离variable_value以便我可以得到它的总结果以及它的总NULL结果.
SELECT games.id FROM games WHERE games.category_id='10' AND games.variable_value IS NULL
这给了我所有variable_value为NULL的游戏.我如何扩展这个以使我得到TOTAL游戏或游戏NOT NULL以及它?
表格架构:
id(INT Primary Auto-Inc)
category_id(INT)
variable_value(TEXT允许空值默认值:NULL)
解决方法
将“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'