[英]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.