Mysql 最近7天的最后时间戳
我想在过去的7天内,每天记录每种产品的最后一个时间戳。数据库中有数千条记录。我如何通过查询实现这一点。大约有25种不同的产品,每种产品每天大约有50个时间戳 表:BuildDataMysql 最近7天的最后时间戳,mysql,sql,Mysql,Sql,我想在过去的7天内,每天记录每种产品的最后一个时间戳。数据库中有数千条记录。我如何通过查询实现这一点。大约有25种不同的产品,每种产品每天大约有50个时间戳 表:BuildData 'Timestamp' | 'Product' | 'BuildNo' '2015-10-21 12:12:00', 'AB', '809' '2015-10-21 13:12:00', 'AB', '44' '2015-10-21 12:12:00', 'CD', '408' '2015-10-21 1
'Timestamp' | 'Product' | 'BuildNo'
'2015-10-21 12:12:00', 'AB', '809'
'2015-10-21 13:12:00', 'AB', '44'
'2015-10-21 12:12:00', 'CD', '408'
'2015-10-21 13:12:00', 'CD', '15'
'2015-10-21 12:12:00', 'ABC', '1699'
'2015-10-21 13:12:00', 'ABC', '1051'
'2015-10-21 14:12:00', 'ABC', '66'
'2015-10-21 15:12:00', 'ABC', '120'
'2015-10-21 13:12:00', 'XYZ', '928'
'2015-10-21 13:12:00', 'XYZ', '37'
'2015-10-21 16:12:00', 'XYZ', '137'
通过使用DATE来隐藏时间戳,可以获取表中的所有日期。然后将日期列和产品列组合在一起,并在时间戳列上运行MAX,以获取每种产品每天的最后一个时间戳
SELECT DATE(Timestamp) AS Date, Product, MAX(Timestamp) AS Last_timestamp
FROM Builddata
WHERE BETWEEN DATE_SUB(NOW(),INTERVAL 1 WEEK) and NOW();
GROUP BY Date, Product
您是否试图解决该需求?如果是,show usOp还要求提供where条款-最后7天。时间戳>日期,间隔7天就可以了。@Timekiller谢谢,我忘了part@Lloyd银行-它只提供一种产品的最后时间戳。输出必须包括每个产品每天的7个时间戳和最后一个时间戳。谢谢你的快速回复response@ThilinaAkalanka不,不是,看看这个-。您的示例输入只包含一个日期,这可能就是原因。@Andrej您能解释一下这个查询吗
SELECT DATE(Timestamp) AS Date, Product, MAX(Timestamp) AS Last_timestamp
FROM Builddata
WHERE BETWEEN DATE_SUB(NOW(),INTERVAL 1 WEEK) and NOW();
GROUP BY Date, Product