列出在DBMS中下了多个订单的客户的客户ID
Select count (custid) as "number of orders more than one" from orders where order date is less than 1;
w8f9ii691#
可以将GROUP BY与HAVING子句结合使用:
SELECT CustomerId, Count(*) AS NumberOfOrders FROM Order WHERE OrderDate < 1 GROUP BY CustomerId HAVING COUNT(*) > 1
WHERE子句在分组之前应用。HAVING子句在分组之后应用,并且在需要对聚合函数返回的值应用约束时使用。不确定 “订单日期小于1;“ 表示,但此条件必须放在WHERE子句中。如果“订单数大于1”指的是订单数大于1,那么可以将Count(*) - 1 AS NumberOfOrdersExceedingOne(正如@Bohemian指出的那样)与HAVING COUNT(*) > 1结合起来。
Count(*) - 1 AS NumberOfOrdersExceedingOne
HAVING COUNT(*) > 1
1条答案
按热度按时间w8f9ii691#
可以将GROUP BY与HAVING子句结合使用:
WHERE子句在分组之前应用。HAVING子句在分组之后应用,并且在需要对聚合函数返回的值应用约束时使用。
不确定 “订单日期小于1;“ 表示,但此条件必须放在WHERE子句中。
如果“订单数大于1”指的是订单数大于1,那么可以将
Count(*) - 1 AS NumberOfOrdersExceedingOne
(正如@Bohemian指出的那样)与HAVING COUNT(*) > 1
结合起来。