理想情況下,下面的代碼應該輸出一列中的男性數量和另一列中的女性數量。沒有錯誤,但它只為男性創建一個列,并將男性和女性的金額放在其列下。
SELECT COUNT(Gender) AS Males FROM Customers
JOIN Rents ON Rents.Customers_Cid= Customers.Cid
JOIN Cars ON Cars.CarId=Rents.Cars_CarId
WHERE Make='Dodge' AND Gender='M'
UNION
SELECT COUNT(Gender) AS Females FROM Customers
JOIN Rents ON Rents.Customers_Cid= Customers.Cid
JOIN Cars ON Cars.CarId=Rents.Cars_CarId
WHERE Make='Dodge' AND Gender='F';
uj5u.com熱心網友回復:
對單遍查詢使用條件聚合:
SELECT SUM(cu.Gender = 'M') AS Males,
SUM(cu.Gender = 'F') AS Females
FROM Customers cu
INNER JOIN Rents r ON r.Customers_Cid = cu.Cid
INNER JOIN Cars ON c.CarId = r.Cars_CarId
WHERE c.Make = 'Dodge';
為了使您的工會方法起作用,您只需為性別選擇一個計算列,例如
SELECT COUNT(Gender) AS Num, 'M' AS Gender
...
UNION ALL
SELECT COUNT(Gender), 'F'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/450600.html
標籤:mysql
