mysql - mysql max 条件在 where 子句中的使用
问题描述
SELECT MAX(r.endTime) as maxETime,r.vehicleId,v.emixis_id
FROM reservation r , vehicle v
WHERE r.vehicleId = v.vehicleId AND
r.workingDay = CURRENT_DATE() AND
r.isNote=0 AND
r.isDeleted=0 AND
r.status NOT IN("cancelled") AND
DATE_FORMAT(NOW(),'%H:%i:%s') > DATE_SUB(MAX(r.endTime), INTERVAL 1 HOUR)
GROUP BY r.vehicleId;
这是我的代码,想要做的是获得MAX(r.endTime)
价值DATE_SUB
。 MAX
不适用于 where 条件,有没有办法做这种事情?我尝试使用@var:=MAX(r.endTime)
并将其设置在内部DATE_SUB
,但@var
始终存储最后一行的值。
解决方案
SELECT MAX(r.`endTime`) as `maxETime`,r.`vehicleId`,v.`emixis_id`
FROM `reservation` r , `vehicle` v
WHERE r.`vehicleId` = v.`vehicleId` AND
r.`workingDay` = CURRENT_DATE() AND
r.`isNote`=0 AND
r.`isDeleted`=0 AND
r.`status` NOT IN("cancelled")
GROUP BY r.`vehicleId`
HAVING DATE_FORMAT(NOW(),'%H:%i:%s') > DATE_ADD(MAX(r.`endTime`), INTERVAL 1 HOUR)
推荐阅读
- c++ - 当映射包含字符串向量作为值时从值中获取键的有效方法
- objective-c - C函数中可以有两种返回类型吗?
- c# - 使用数据注释进行验证时未进入控制器
- php - 是否可以在包含文件期间更改或取消设置 Class 对象?
- php - 创建 CSV 并合并 2 行并将值设置为 codeigniter 中的标题
- python - python中是否有直接函数来规范化矩阵单列中的值?
- amazon-web-services - 当我重新启动 aws AMI redash 时出现 502 错误请求
- mongodb - 检查数组中元素的长度是否等于数组中元素的总数
- javascript - 如何在 React 中为非实例方法编写测试用例
- sql - sql中的子字符串匹配