簡體   English   中英

SQL計數不適用於null

[英]SQL count doesn't work with null

SELECT 
    customers.customerNumber, customers.customerName,
    customers.state, customers.city,
    COUNT(orders.customerNumber) AS OrdSum
FROM 
    customers 
INNER JOIN 
    orders ON customers.customerNumber = orders.customerNumber
WHERE 
    (customers.state <> 'NY') AND (customers.country = 'USA')
GROUP BY 
    customers.customerName
ORDER BY customers.customerNumber;

這是我的SQL代碼。 具有COUNT的表不會顯示具有0值的行。

這是您想要的嗎?

SELECT c.customerNumber, c.customerName, c.state, c.city,
       COUNT(o.customerNumber) AS OrdSum
FROM customers c LEFT JOIN 
     orders o
     ON c.customerNumber = o.customerNumber
WHERE c.state <> 'NY' AND c.country = 'USA'
GROUP BY c.customerNumber, c.customerName, c.state, c.city
ORDER BY c.customerNumber;

這應該顯示紐約的所有客戶以及他們的訂單數量,即使他們沒有訂單。 不過我很好奇:如果沒有訂單,某人怎么會在一個叫customers的表中?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM