mysql - 带有计算的sql select语句

标签 mysql sql

我想选择所有具有特定状态且created_at超过24小时的卡车

这是我尝试过的

SELECT * FROM tbl_trucks WHERE `truck_status` != 11

现在我陷入了如何添加额外的 where 语句的困境,这样我就只能获得距离当前时间超过 24 小时的卡车。从字面意义上来说,这将是

 SELECT * FROM tbl_trucks WHERE `truck_status` != 11
      ANDWHERE ('created_at'-NOW() <0 ) //created_at passes 24 hours

在通常的 php 中,这将转换为

 $created_at= 1500373706; // created_At value in mysql db

if ((time() - $created_at) > 86400) { //past 24 hours mark
     //past 24 hours i need these
  } else {
     //not past 24 hours i dont need them
 }

最佳答案

它是这样的:

SELECT t.*
FROM tbl_trucks t
WHERE t.truck_status <> 11 AND
      t.created_at < DATE_SUB(NOW(), INTERVAL 24 HOUR);

关于mysql - 带有计算的sql select语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45271483/

相关文章:

php - (Laravel) 如何按最新的枢轴值过滤表

javascript - 如何获取数据库值并将其存储在 JavaScript 变量中

php - 如何连接多个 MySQL 查询

java - 将 SQL 和绑定(bind)数据转换为直接 SQL

sql - 在 Oracle 中删除多个列

mysql - 将搜索到的大小写转换为其他简单大小写

sql - 一定是执行此 SQL WHERE/IN 的更好方法

mysql - 如何优化我的 mysql 查询?

php不传递变量

php - 即使值与第一个下拉菜单相同,我是否仍然需要使用 JQuery 来填充第二个下拉菜单?