【问题标题】:Group By .... Having SQL Query is not executing properlyGroup By .... SQL 查询未正确执行
【发布时间】:2013-03-24 07:57:57
【问题描述】:

我想查看某个日期范围内售出的总产品数量,即

 -------------------------
 |  PRODUCT   | QUANTITY |
 -------------------------
 |   A        |    120   |
 -------------------------
 |   B        |     75   |
 -------------------------

我在 MS Access 2003 中有以下 sql 查询:

SELECT Product, Sum(PurchaseQuantity) AS Quantity
FROM tblInvoice
GROUP BY Product
HAVING PurchaseDate BETWEEN #3/19/2013# and #3/22/2013#;

但这并没有执行。 MS Access 给我这样的错误:

"您尝试执行的查询不包括指定的 表达式“PurchaseDate BETWEEN #3/19/2013# and #3/22/2013#”作为一部分 聚合函数。”

到目前为止,我知道我需要在 Group By 子句中添加 PurchaseDate。但是有没有办法在不将 PurchaseDate 放在 Group By 子句中的情况下做到这一点?

提前谢谢你。

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    您应该在“WHERE”子句中使用 purchaseDate 条件:

    SELECT Product, Sum(PurchaseQuantity) AS Quantity 
    FROM tblInvoice
    WHERE PurchaseDate BETWEEN #3/19/2013# and #3/22/2013#
    GROUP BY Product
    

    【讨论】:

    • 如果我想把产品,UnitName 放在 SELECT 子句中,但只有 Product 放在 GROUP BY 子句中?
    猜你喜欢
    • 1970-01-01
    • 2019-05-10
    • 2015-04-17
    • 2021-02-04
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多