2016-11-13 49 views
1

我有一个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 

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

回答

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) 
+0

我会测试,但这种排序整个时间戳不是吗? ID 1和3具有相同的日期,但具有不同的时间戳? – uberconversion

+0

据我所知,此查询符合您的要求。请尝试一下,如果有任何问题,请回到这里。 –