繁体   English   中英

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

[英]MySQL: Return the Count of a distinct rows of a group

我无法将计数/分组功能与独特功能结合起来。 在我的数据库中,我有一个带有 orderID 和 burgerId(这是汉堡的类型)的表(BurgerOrders)。

一个订单可以包含多个汉堡,它可以包含 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM