SQL 查询:HAVING date = MAX(date) 不起作用

Posted

技术标签:

【中文标题】SQL 查询:HAVING date = MAX(date) 不起作用【英文标题】:SQL query: HAVING date = MAX(date) doesn't work 【发布时间】:2015-09-07 09:49:16 【问题描述】:

我尝试编写一个 sql 查询来获取相同 id 的最新日期。所以我写:

select id 
from table 
where id = 10
having table.date = MAX(table.date)

但它仍然返回与刚才相同的结果

select id 
from table 
where id = 10

我不知道为什么,我们不能用这种方式?

谢谢!

【问题讨论】:

【参考方案1】:

你不能在没有分组的情况下使用Having

试试这个:

select id 
from table AS A
where id = 10 AND table.date = (select MAX(table.date)
                                from table as B
                                where a.id = b.id)

【讨论】:

啊,非常感谢.. 但是 MAX 不是关于分组的东西吗? @YilingLiu 不,没必要;) @YilingLiu 如果正确,请将我的答案标记为正确。谢谢

以上是关于SQL 查询:HAVING date = MAX(date) 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

sql中having用法

sql语句中的having

T-SQL 子查询 Max(Date) 和连接

查询HAVING MAX()无法按预期工作

SQL 选择除最近日期之外的所有内容

sql:group by和 max