sql - 选择中的默认值 - SQL
问题描述
我想在表格的特定列中选择最大和最小数字的总和,我很好,但如果该列为空,我还需要设置一个默认值,到目前为止我试过这个:
SELECT
(select max(col) FROM table) + (select min(col) FROM table)
AS col_sum = 0
如果我的表是空的,我想获得一个具有默认值的单个值,如下所示:
col_sum
-------
0
我尝试了一些默认值的解决方案,但我没有找到这种情况。抱歉,我是 SQL 新手 :)
解决方案
您可以使用COALESCE()
:
SELECT COALESCE( (select max(col) FROM table) + (select min(col) FROM table), 0) as col_sum
我倾向于只使用一个子选择:
SELECT COALESCE( (SELECT MAX(col) + MIN(col) FROM table)), 0) as col_sum
甚至完全消除子查询:
SELECT COALESCE(MAX(col) + MIN(col), 0)
FORM table;
推荐阅读
- c++ - 带有自定义缓冲区的 std::iostream 不允许我写
- xml - 多次验证具有相同元素的 xml
- swift - 在 xcode 11 的新 Safari 应用程序扩展中获取新标签打开/关闭的事件侦听器
- java - 当小于符号 (<) 后紧跟字母字符时,JSOUP txt 解析为 HTML 解析不正确
- python - 使用 pypdf2 无法读取可编辑的 pdf 文件
- indexing - Solr 索引缺少字段
- tensorflow - “尝试在不构建函数的情况下捕获 EagerTensor”错误:构建联合平均过程时
- javascript - 列表正在更新,但数据在 reactjs 中的 dom 上更新?
- python - 使用 python 和烧瓶在 Html 中嵌入 Bockeh 图 - 空白图
- java - 我应该使用 com.google.common.base.Function