mysql - 最近 7 天的最后时间戳

标签 mysql sql

我想获取过去 7 天内每天每个产品的最后时间戳。数据库中有数千条记录。我怎样才能通过查询来做到这一点。大约有 25 种不同的产品,每种产品每天大约有 50 个时间戳。

表:构建数据

 '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

关于mysql - 最近 7 天的最后时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397595/

相关文章:

mysql - DateTime 的 ServiceStack ORMLite SqlList 问题

mysql - INSERT INTO 不重复的特定列

c# - RDLC计算运行总计?

php - Codeigniter DB选择逻辑错误

mysql - SQL 在具有限制的选择查询后删除行

c++ - mysql-namer.exe :0xC000005:Access Violation in reading location 0x00000000 中 0x51f99754 处出现未处理的异常

PHP MySQL 连接查询

mysql - 为什么 MySQL 不优化这个简单的查询并从缓存中提供结果?

mysql - 当明细记录存在但缺少主表时插入主表

SQL为相邻集选择相邻行