mysql - 如果第一个为空,则使用 MySQL 选择第二列值?
问题描述
如果第一列值为空,如何选择第二列的值。
例如:表 bookings 包含类似的记录
id | sold_price | contract_price
---------------------------------
1 | 10000 | 150000
---------------------------------
2 | | 20000
我正在寻找一些 mysql 查询,例如
Select SUM
(If (bookings.sold_price !=NULL)
Else bookings.contract_price)
FROM bookings
Where id=2
有没有办法做到这一点?
解决方案
你可以使用一个 case when is null
Select sum( case when bookings.sold_price is null
then bookings.contract_price else bookings.sold_price end)
from my_table
where id = 2
或者在 mysql 中你可以使用 ifnull
Select sum( ifnull(bookings.sold_price , bookings.contract_price) )
from my_table
where id = 2
推荐阅读
- excel - 通过匹配名称将值从一个 excel 表粘贴到另一个
- java - GraalVM 原生镜像是提高整体应用程序性能还是只是减少启动时间?
- function - 当插值函数必须作为全局变量多次访问时优化 Julia 性能
- docker - 使用 Docker Image 运行量角器脚本
- java - 从 Firebase 存储获取上传时间
- python - 模型作品接受支持向量机 SVM 和线性判别分析
- javascript - react-image-magnify 减少高度和宽度
- node.js - Discord 机器人有时会做出反应
- mysql - 无法获取最近添加的记录 MySQL Python
- sql - 如果 :parameter 不为空,则 P.PRODUCT_NAME = :parameter else :parameter like 'seat%'