mysql - MAX() 函数未按预期工作

标签 mysql sql select group-by max

我创建了 sqlfiddle 来尝试解决这个 http://sqlfiddle.com/#!2/21e72/1

在查询中,我在 compiled_date 列上放置了一个 max() 但推荐列仍然不正确 - 我假设需要在线插入一个 select 语句3 不知何故?

我已经尝试了下面评论者提供的示例,但我认为我只需要从基本查询开始理解这一点。

最佳答案

正如其他人所指出的,问题在于某些选择列既未聚合也未在 group by 子句中使用。大多数 DBMS 根本不允许这样做,但 MySQL 在某些标准上有点宽松......

因此,您需要先找到每个案例的max(compiled_date),然后再找到相应的建议。

select r.case_number, r.compiled_date, r.recommendation
from reporting r
  join (
    SELECT case_number, max(compiled_date) as lastDate
    from reporting
    group by case_number
  ) s on r.case_number=s.case_number
      and r.compiled_date=s.lastDate

关于mysql - MAX() 函数未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20970538/

相关文章:

mysql - 在 Telerik radrotator(legand) 中,日期绑定(bind)为 system.byte

mysql - 如何计算MySQL语句的大小(不是查询结果)

mysql - 更好的数据库信息结构

php - SQL 语法错误 ZF1

json - 使用jq根据对象中变量的值选择对象

javascript - 在 NodeJS 中使用 MySQL 的 Passportjs

MySQL 使用 select 和 if else 更新列

Javascript - 将元素添加到具有固定值的查询结果的最佳/最快方法

javascript - 显示基于选择菜单选项的 JavaScript 计算

Mysql统计一段时间内的行数