簡體   English   中英

如何從單個表中查找訂單大於X的客戶

[英]How to find customer with orders greater than X from single table

如何從單個表中查找訂單金額大於$ 2000的客戶姓名?

Customer : 
custName custOrderVal
A        100 
B        200
A        900
C        2400
A        1100
B        8000

select cust.custName from customer cust where cust.custOrderVal > 2000; 將不會顯示正確的數據。 有人可以指導我嗎?

通過使用HAVING子句,像這樣:

SELECT custName
FROM Customer
GROUP BY custName
HAVING SUM(custOrderVal) > 2000

您需要使用GROUP BY來獲取每個客戶的SUM ,然后使用HAVING來限制結果(就像WHERE子句一樣)。

詢問

DECLARE @t TABLE (custName VARCHAR(10),custOrderVal INT)
INSERT INTO @t
VALUES
('A',100), ('B',200),('A',900),('C',2400),
('A',1100),('B',8000),('D',1000),('F',500)

SELECT  CustName
FROM @t
GROUP BY CustName
HAVING SUM(custOrderVal) > 2000

結果集

╔══════════╗
║ CustName ║
╠══════════╣
║ A        ║
║ B        ║
║ C        ║
╚══════════╝
SELECT
  custName,
  SUM(custOrderVal) AS custOrderSum
FROM Customer
GROUP BY custName
HAVING custOrderSum>2000

每當需要過濾分組總計時,都可以使用HAVING子句。

SELECT custName
FROM Customer
GROUP BY custName
HAVING SUM(custOrderVal) > 2000

暫無
暫無

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

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