簡體   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