按时间戳排序,但按最近日期限制

时间:2016-11-13 11:40:18

标签: mysql

我有一个包含ID,产品名称和TIMESTAMP字段的表,包括'ON UPDATE CURRENT_TIMESTAMP'。因此,每次触摸产品时,时间戳都会获得最新的时间戳。

该表已导入,我尝试仅获取最新添加的内容,但无法删除旧数据。

以下简化表格:

ID, Product, timestamp
 1,       A, 2016-10-20 15:10:39
 2,       B, 2016-09-10 12:41:21
 3,       C, 2016-10-20 15:11:55
 4,       D, 2016-08-01 16:18:21
 5,       E, 2016-10-19 10:00:12
 6,       F, 2016-09-10 12:41:20

我想获得以下输出:

ID, Product, timestamp
 1,       A, 2016-10-20 15:10:39
 3,       C, 2016-10-20 15:11:55

基本上我不关心时间戳的时间部分......只关注日期。有没有办法将输出限制在时间戳字段中的最近日期,无论实际当前日期是什么?

1 个答案:

答案 0 :(得分:2)

一种方法使用子查询来标识最大(最近)日期,然后仅限制为共享此日期的记录:

SELECT *
FROM yourTable
WHERE DATE(timestamp) = (SELECT MAX(DATE(timestamp)) FROM yourTable)
-- ORDER BY timestamp  (or whatever column you want to use for ordering)