MySQL:返回组中不同行的计数

问题描述 投票:0回答:1

我在将计数/分组功能与独特功能组合在一起时遇到麻烦。在我的数据库中,我有一个表(BurgerOrders),其中包含一个orderID和burgerId(这是burger的类型)。

一个订单可以包含多个汉堡,它可以包含3个相同burgerId的汉堡或3个不同的汉堡。我正在尝试找出如何获得DISTINCT汉堡的数量。我能够以任何顺序获得汉堡总数,但是却不知道如何使它成为不同汉堡的总数。

下面是我尝试过的查询,由于语法无效而无法使用,但希望能对我要执行的操作有所了解。

SELECT orderId, COUNT(*)
FROM BurgerOrders
GROUP BY orderId
HAVING DISTINCT burgerId;

我知道这是导致错误的最后一行。我不确定是否可以使用单个查询或子查询。

提前感谢您的帮助!

mysql count grouping distinct having
1个回答
0
投票

我认为您正在寻找的是这样的东西:

SELECT orderId, COUNT(DISTINCT burgerId) 
FROM BurgerOrders 
GROUP BY orderId;

HAVING语法需要条件,请参见此处的示例:https://www.w3schools.com/sql/sql_having.asp

© www.soinside.com 2019 - 2024. All rights reserved.