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

时间:2017-04-14 17:46:34

标签: 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 |
----------------------------------------

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

我试过:

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最旧的。

1 个答案:

答案 0 :(得分:2)

试试这个:

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