WHERE子句中的SQL Access COUNT

Sna*_*Doc 0 sql ms-access

我正在尝试执行查询以返回只有1个交叉引用号的订单.

这样的事情(字段名称和表格改变以保护无辜;-P):

SELECT ordernum FROM orders WHERE (COUNT(orderref) = 1) ORDER BY ordernum;
Run Code Online (Sandbox Code Playgroud)

问题是,在使用Access的WHERE子句中不能使用聚合函数(不确定它是否在普通SQL中允许).

如何使用Access SQL实现此目的?

CRA*_*DBA 5

计数(*)必须在HAVING子句中,因为它是计算的.此外,您缺少GROUP BY子句.

-- Updated statement
SELECT ordernum, COUNT(orderref) as Total
FROM orders 
GROUP BY ordernum 
HAVING COUNT(orderref) = 1 
ORDER BY ordernum
Run Code Online (Sandbox Code Playgroud)

有人给我发了电子邮件,说明MS Access不支持HAVING子句.这对我来说是新闻.很久以前我获得了MOS ACCESS认证.

让我们使用Northwind数据库进行MS Access 2007.我改变了语法,因为列名不同.但结果是一样的.

在此输入图像描述

在此输入图像描述