mysql - SQL 查询获取最新的非空值,CURDATE()+2 不再工作
问题描述
所以我有一个名为“gas_market_prices”的 MYSQL 表,我在其中提取了一个名为“dwgm_d2_provisional_price”的列。现在,在连接的 grafana 仪表板上,我将此列称为,因为我提取了最新的“dwgm_d2_provisional_price”,如附图所示,它总是比当天提前 2 天。
所以以前,我使用以下查询来获取这个最近的价格,即使表仍在更新,这个查询突然停止工作。
SELECT gas_date as 'time', dwgm_d2_provisional_price
from gas_market_prices
where gas_date = curdate()+1
order by gas_date desc limit 1
如何修改此脚本,以便从 dwgm_d2_provisional_price 获得 5.89,如上图所示。
解决方案
从您的查询看来,您需要使用当前数据添加两天而不是一天。
SELECT gas_date as 'time', dwgm_d2_provisional_price
from gas_market_prices
where gas_date = DATE_ADD(curdate(), INTERVAL 2 DAY)
order by gas_date desc limit 1;
推荐阅读
- flutter - 如何设置这种文本字段的样式
- c - canopen对象字典中的store参数(1010)可以写入什么设备状态
- javascript - 刽子手游戏相同字母验证(语法错误)仅限 javascript
- javascript - 有没有办法将 Nest JS 与 Sapper (Svelte) 一起使用?
- c# - C#/.NET 实际上是否仅限于 Unicode 6.0?
- android - Android ADB 未在显示应用程序无法启动 0xc000007b 的窗口上运行
- ssh - 哪个最适合远程厨师客户端 - 刀 ssh 或常规 ssh?
- docker - Docker hub 自动构建版本和标签最新
- sql - 创建 sql 脚本以在 postgres 中创建表
- python - 从值中删除方括号和括号?