簡體   English   中英

T-SQL 表獲取正確查詢

[英]T-SQL Table Getting Right Query

我有一張這樣的桌子。 (還有更多記錄)

在此處輸入圖像描述

這是問題。 如何讓前 20 位客戶在同一銀行分行(BranchID)、多個相同貨幣賬戶(不僅僅是一個)中擁有 9000 到 24000 之間的錢(金額)。

也許是這樣的?

select distinct top 20 
  yt.CustomerId
from [$your_table] yt
group by yt.CustomerId, yt.BranchId, yt.Currency
having count(*)>1
  and sum(yt.amount) between 9000 and 24000

count(*)>1不止一次地捕捉到那些使用相同分行和貨幣的客戶。 然后,對於金額的總和( sum(yt.amount) ),它只得到 9000 到 24000 之間的那些。

最后,因為同一個客戶可能有不止一條記錄(同一個分行和兩種不同的貨幣多次 - 甚至是幾個分行),我們得到了distinct top 20 CustomerId

在 SQL 服務器中,您可以為此使用TOP

如:

SELECT TOP 20 
FROM TABLE
WHERE filter condition...

暫無
暫無

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

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