![](/img/trans.png)
[英]Counting total rows for each group in SQL and rows that meet certain condition
[英]GROUP BY Function Counting Total Matches For Each Row | SQL/Oracle
在嘗試創建查詢時,它會不斷計算所有分支機構的高級會員客戶總數,並將其顯示為每個商店/分支機構的計數。
如下圖所示,洛杉磯、舊金山和聖地亞哥分行的高級客戶數均顯示為 9,即所有分行的高級會員客戶總數。 LA 的正確計數應為 5,SF 為 3,SD 為 1。
我不確定我的代碼有什么問題?
SELECT COUNT(x.customerID), y.storeAddress.streetAddress, y.storeAddress.city, y.storeAddress.postcode FROM petStoreMemberships x, petStoreBranches y WHERE x.membership = 'Premium' GROUP BY y.storeaddress.streetAddress, y.storeaddress .city, y.storeaddress.postcode ORDER BY COUNT(x.customerID);
首先,您應該使用正確的JOIN
語法。
其次,您應該使用有意義的表別名。
第三,您的JOIN
需要更正加入的子句。 以下為猜測:
SELECT COUNT(*), b.storeAddress.streetAddress, b.storeAddress.city, b.storeAddress.postcode
FROM petStoreMemberships m JOIN
petStoreBranches b
ON m.branchId = b.branchId
WHERE m.membership = 'Premium'
GROUP BY b.storeAddress.streetAddress, b.storeAddress.city, b.storeAddress.postcode
ORDER BY COUNT(*);
如果你使用正確的JOIN
語法,你會因為缺少ON
子句而得到一個錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.