以下查询返回DATE_SENT_TO_REGISTRATIONS落在两个日期之间的记录: -
SELECT TBLBROKERAGESNEW.BROKERAGE_NAME, Count(TBLBROKERAGESNEW.BROKERAGE_NAME) AS CountOfBROKERAGE_NAME
FROM TBLQUOTESNEW LEFT JOIN TBLBROKERAGESNEW ON TBLQUOTESNEW.BROKERAGE_ID = TBLBROKERAGESNEW.ID
WHERE (((TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS)>=#6/1/2017#) AND ((TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS)<=#6/30/2017#))
GROUP BY TBLBROKERAGESNEW.BROKERAGE_NAME
ORDER BY Count(TBLBROKERAGESNEW.BROKERAGE_NAME) DESC;
是否可以调整此计数,以便它只计算在开始日期之前从未有过注册日期的经纪人(在这种情况下是6月1日) - 本月基本上是新的经纪人?
答案 0 :(得分:2)
HAVING
是分组记录的WHERE
子句
如果您尝试说WHERE Min(TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS)>=#6/1/2017#
,您将收到错误,因为您无法在WHERE
子句中使用聚合(MIN)函数。
这应该有效:
SELECT TBLBROKERAGESNEW.BROKERAGE_NAME
, Count(TBLBROKERAGESNEW.BROKERAGE_NAME) AS CountOfBROKERAGE_NAME
FROM TBLBROKERAGESNEW INNER JOIN TBLQUOTESNEW ON TBLBROKERAGESNEW.ID = TBLQUOTESNEW.BROKERAGE_ID
GROUP BY TBLBROKERAGESNEW.BROKERAGE_NAME
HAVING Min(TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS)>=#6/1/2017#
要将日期的上限限制为6月,请添加WHERE
子句(在GROUP BY之前):
WHERE TBLQUOTESNEW.DATE_SENT_TO_REGISTRATIONS<#7/1/2017#