SQL:where子句中的明显计数?

jor*_*bor 5 sql count

我的订单表看起来像这样:

id   fk_customer
1    34
2    34
3    34
4    7
5    7
6    8
Run Code Online (Sandbox Code Playgroud)

我想只选择订单超过2个的客户.

但这不起作用:

SELECT * FROM order WHERE COUNT DISTINCT fk_customer > 2

请指教!

谢谢

mar*_*c_s 10

试试这个:

SELECT fk_customer, COUNT(*)   
FROM dbo.[Order]
GROUP BY fk_customer
HAVING COUNT(*) > 2
Run Code Online (Sandbox Code Playgroud)

Order 在大多数基于SQL的数据库系统中是一个保留字 - 对于表名称的错误选择....在SQL Server中,您需要将其放在方括号中以使其清楚它是要使用的对象名(而不是保留字) .