我在将计数/分组功能与独特功能组合在一起时遇到麻烦。在我的数据库中,我有一个表(BurgerOrders),其中包含一个orderID和burgerId(这是burger的类型)。
一个订单可以包含多个汉堡,它可以包含3个相同burgerId的汉堡或3个不同的汉堡。我正在尝试找出如何获得DISTINCT汉堡的数量。我能够以任何顺序获得汉堡总数,但是却不知道如何使它成为不同汉堡的总数。
下面是我尝试过的查询,由于语法无效而无法使用,但希望能对我要执行的操作有所了解。
SELECT orderId, COUNT(*)
FROM BurgerOrders
GROUP BY orderId
HAVING DISTINCT burgerId;
我知道这是导致错误的最后一行。我不确定是否可以使用单个查询或子查询。
提前感谢您的帮助!
我认为您正在寻找的是这样的东西:
SELECT orderId, COUNT(DISTINCT burgerId)
FROM BurgerOrders
GROUP BY orderId;
HAVING语法需要条件,请参见此处的示例:https://www.w3schools.com/sql/sql_having.asp