Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 最近7天的最后时间戳_Mysql_Sql - Fatal编程技术网

Mysql 最近7天的最后时间戳

Mysql 最近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

我想在过去的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 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