我对SQL Server不是很熟悉,但我知道基础知识。我想做类似下面的事情,但这不起作用。
SELECT COUNT(*) AS Expr2, shopid AS Expr1
FROM Orders
WHERE (Expr2 > '5000')
我基本上需要提取shopIds
,他们有超过5000个订单。
答案 0 :(得分:2)
不幸的是,MSSQL不允许在WHERE或HAVING子句中使用别名,因此您需要重复聚合字段。如果您想计算每个商店的订单,您还需要按商店ID分组:
SELECT COUNT(*) AS Expr2,
shopid AS Expr1
FROM
Orders
GROUP BY ShopId
HAVING (COUNT(*) > 5000)