mysql - 如何选择在另一行之前插入的行,时间戳?

标签 mysql

假设我有:

 --------------------------------------
| Item   | value | TimeStamp           |
 --------------------------------------
| Apple  | Red   | 2013-04-15 09:34:44 |
| Orange | Orange| 2014-04-15 09:34:44 |
| Banana | Yellow| 2015-04-15 09:34:44 |
| Fruit  | Mix   | 2016-04-15 09:34:44 |
| Malon  | Red   | 2017-04-15 09:34:44 |
----------------------------------------

问题:只选择在特定时间戳之前插入的一行

我试过:

SELECT * 
  FROM table 
 WHERE TimeStamp < '2015-04-15 09:34:44' 
 LIMIT 1 
   AND ITEM NOT NULL

我要选择的行只是在日期 2015-04-15 09:34:44 之前插入的行这是2014-04-15 09:34:44 .使用上面的查询,因为我使用它选择了日期 2015-04-15 09:34:44 之前插入的所有行我试图将其限制为 1,输出结果为 2013-04-15 09:34:44最老的一个。

最佳答案

试试这个:

SELECT * 
FROM `table` 
WHERE `TimeStamp` < '2015-04-15 09:34:44' AND NOT `ITEM` IS NULL
ORDER BY `TimeStamp` DESC
LIMIT 1

关于mysql - 如何选择在另一行之前插入的行,时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43416576/

相关文章:

mysql - 如何在特定数据库中创建表?

php - 随机唯一的 Mysql Id

mysql - xampp MySQL 无法启动

php - 不将数据表单插入数据库表PHP

php - 简单的准备好的语句不起作用

php - 需要检查用户在我的网站 Laravel 5.2 上注册了多长时间

php - 导入 csv 数据到 mysql 后全部出现在一列中

mysql - 如何找到下一个免费的唯一 4 位数号码

MySql异常(0x80004005): : Access denied for user

mysql - onDelete() 在 laravel 中无法正常工作