小编典典

SQL:HAVING子句

sql

请参见以下SQL语句:

SELECT datediff("d", MAX(invoice.date), Now) As Date_Diff
      , MAX(invoice.date) AS max_invoice_date
      , customer.number AS customer_number
FROM invoice 
    INNER JOIN customer 
        ON invoice.customer_number = customer.number
GROUP BY customer.number

如果添加以下内容:

HAVING datediff("d", MAX(invoice.date), Now) > 365

会简单地排除Date_Diff <= 365的行吗?

HAVING子句在这里应有什么作用?

编辑:我没有遇到这里所说的答案。mdb的副本位于http://hotfile.com/dl/40641614/2353dfc/test.mdb.html(无宏或病毒)。VISDATA.EXE用于执行查询。

EDIT2:我认为问题可能出在VISDATA,因为我通过DAO遇到了不同的结果。


阅读 198

收藏
2021-04-28

共1个答案

小编典典

正如已经指出的,是的,这就是效果。为了完整起见,“ HAVING”类似于“
WHERE”,但是对于已经聚合(分组)的值(例如,在这种情况下为MAX,或者为SUM,或者为COUNT,或者其他任何聚合函数)。

2021-04-28