mysql - 查找每个事件的最新时间戳

标签 mysql sql

我的表格包含以下列,|id|incident_number|created_at|note|

因此每个事件可以有多个更新,更新按 ID 进行分类,并以 2014-01-30 21:11:56 的形式给出 created_at 时间>。因此,一个 incident_number 可以拥有多个 id 和多个created_at,具体取决于其更新频率。

我想做的是按照与时间相对应的最近一个来过滤掉所有其他created_at

问题是,在运行查询时,我无法查看数据并判断created_at是否小于给定日期,因为我不确定这些事件何时得到处理。

大局是我将能够显示每个事件的最新更新,按created_at日期排序

有什么建议吗?

最佳答案

我在你的问题中有点迷失,但这可能会给你一个想法:

SELECT MAX(created_at) FROM ... GROUP BY incident_number

编辑:由于您的评论,我添加了此内容。

是的,MAX 仅返回最高值。我的声明是帮助您找到该值(value)并添加您认为合适的其他值(value)。我想你需要的是这样的:

SELECT MAX(created_at), incident_number, note FROM ... GROUP BY incident_number, note

对于每个事件,仅显示具有最近的created_at时间戳的行。

EDIT2:正如您提到的一个错误,我检查了我的 SQL。 GROUP BY 子句中缺少 note 列。我不认为有必要进行子选择。

关于mysql - 查找每个事件的最新时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21584672/

相关文章:

sql - 使用 Sequelize 选择所有有效的起始字母

sql - 从java调用带有表值参数的存储过程

SQL Coldfusion - 搜索重复名称时消除单词 THE

sql - SQL 2005中检查外键是否存在的方法

mysql - 打印存储过程中插入中使用的变量列表

mysql - 我可以向 SphinxSearch 索引添加多少个属性?

Mysql 显示 100% 内存使用率

php - dayname(curdate()) 不在 codeigniter php 中工作

mysql - 使用带有函数作为默认值的触发器

PHP 和 MySQL 在数据库中存储多个值