首页 > 解决方案 > BETWEEN SQL 语句抛出溢出错误 - 在两个日期之间提取记录

问题描述

我在 Access 中创建的查询遇到问题。我收到一个错误,简单地说是“溢出”,我不确定是什么导致了这里的大量计算,所以我可以使用一些建议。这是查询:

SELECT tbPurchases.MemberID, Count(tbPurchases.[PurchaseDate]) AS NumPurchases
FROM tbPurchases
GROUP BY tbPurchases.MemberID
HAVING (((Count(tbPurchases.[PurchaseDate])) Between DateSerial(Now(),1,1) And Now()));

这是使用 Access 中的 GUI 创建的。基本上,我正在尝试获取 aMemberID出现的实例数tbPurchases(是的,我省略了一个“L” - 稍后修复它),PurchaseDate在今年的第一天到Now().

标签: sqlms-access

解决方案


你可能的意思是:

SELECT 
    tbPurchases.MemberID, 
    Count(*) AS NumPurchases
FROM 
    tbPurchases
WHERE 
    tbPurchases.[PurchaseDate] Between DateSerial(Year(Now()),1,1) And Now()
GROUP BY 
    tbPurchases.MemberID

推荐阅读