MySQL——if条件优化

标签 mysql sql

只是想知道,MySQL 将如何处理这个查询,如果 sum(credits) != NULL,sum() 会计算两次吗?或者 MySQL 是否对此类查询进行了优化。

select if(sum(credits)=NULL, 0, sum(credits)) from ......

谢谢

最佳答案

如果不行的话。第一个条件始终为假。与 NULL 进行比较的正确方法是 IS NULL,而不是 =

只需使用这个结构:

select coalesce(sum(credits), 0)

关于MySQL——if条件优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37875463/

相关文章:

mysql - 带有循环和准备好的语句的存储过程 - 为什么它不起作用?

mysql - 具有重复值的 JOIN 上的更新表仅返回第一个值

mysql - 动态值的数据库结构

mysql - 从查询中选择最大日期和最大时间

sql - 将复合类型的数组传递给存储过程

php - 使用 DataTable 显示数据库中的 50 行,并能够搜索整个数据库

javascript - 在模式中从 SQL 数据库加载数据

html - 如何使用mysql在html2pdf中自动创建下一页

php - 如何在 mysql - php combo 的输出中干净地更改小数点分隔符

sql - 为什么在数据控制语言中使用 "Deny"?