mysql - 将事件日期链接到组中的另一个值

标签 mysql

我当前可以尝试运行此查询来获取最新事件:

SELECT id, id2, MAX(event_date), numeric as numeric 
FROM table 
group by id, id2;

基本上问题是每个 event_date 可以有 2 个数值,我的目标是只能选择这些数值中的最高值。例如

但是我似乎无法在单个查询中做到这一点。我尝试过使用having子句(但这限制太多,会删除有效值)赋值运算符,但我有点困惑。必须有一种简单的方法来做到这一点。非常感谢任何帮助。

最佳答案

由于选择max of event_date后需要获取数值字段的最大值,因此需要一个子查询来获取数值字段的最大值。

SELECT id, id2, MAX(event_date),numeric_field
FROM event_table A
where numeric_field in 
(select max(numeric_field) from event_table 
   where A.id = id and A.id2 = id2 and A.event_date = event_date)
group by id, id2;

我创建了一个 SQL fiddle 来尝试不同的示例。 SQLFiddle Link

注意:我已将查询中的“numeric”字段重命名为“numeric_field”

关于mysql - 将事件日期链接到组中的另一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33921053/

相关文章:

php - MySQL:向当前用户显示帖子提要和帖子喜欢

mysql - 使用嵌套 MySQL 查询打印一张表中的所有行

mysql - 数据透视表省略具有空值的行

php - 使用 PHP 在 for 循环中使用 mysql 查询的困难

MySQL函数条件总是评估为真

mysql - 错误 1060 (42S21) : Duplicate column name 'eid'

mysql - 如何使magento搜索功能更快?

mysql - mysqldump 错误 : mysqldump: [ERROR] unknown variable 'database=someDb'

mysql - 从多个中获取行数

mysql - Laravel 用总和连接查询