我使用以下语句在 View 中创建百分比计算:
round(((调查
.RejectedAsAdvertising
/调查
.回复
) * 100),0) AS 百分比广告
基本上,我将对某个问题(在本例中,该问题被视为广告)的回复数除以回复总数。
最后,我的列显示了五种可能的调查回复中每一种的百分比(“这是广告吗?”、“这很无聊吗?”等)。
这工作得很好,但我想调整一件事。当响应类型(例如广告)没有任何投票时,我的计算字段收到 NULL 值。
定义 View 时,如何指定默认值 0?
谢谢。
最佳答案
COALESCE是首选方法,因为它是处理参数为空时求值的 ANSI 标准方法。作为 ANSI,Oracle、SQL Server、Postgres 等支持相同的语法,使查询更容易在需要时在数据库之间移植。
COALESCE(round(((Surveys.RejectedAsAdvertising / Surveys.Responses) * 100),0) AS PercentageAdvertising, 0)
IFNULL是 MySQL 特定语法:
IFNULL(round(((Surveys.RejectedAsAdvertising / Surveys.Responses) * 100),0) AS PercentageAdvertising, 0)
关于sql - MySQL查看: How do I set default value of a calculated field to 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1885070/