Sql 按组获取最新记录
这是我的桌子Sql 按组获取最新记录,sql,sql-server,group-by,Sql,Sql Server,Group By,这是我的桌子 Select ClaimId ,InterestSubsidyClaimId ,BankId,BankName ,UpdatedPrincipalAmountofOutStanding ,[date] From InterestSubsidyReviseClaim Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1 这给了我这样的结果 现在我只想要3号和10号记录 我只有“
Select ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
From InterestSubsidyReviseClaim
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1
这给了我这样的结果
现在我只想要3号和10号记录
我只有“兴趣爱好”
结果记录应为
那么它是如何实现的呢???您可以使用函数来实现这一点。例如:
;WITH DataSource AS
(
Select ROW_NUMBER() OVER (PARTITION BY BankName ORDER BY ClaimID DESC) AS [RowID]
,ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
From InterestSubsidyReviseClaim
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1
)
SELECT ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
FROM DataSource
WHERE [RowID] = 1
您可以使用函数来完成此操作。例如:
;WITH DataSource AS
(
Select ROW_NUMBER() OVER (PARTITION BY BankName ORDER BY ClaimID DESC) AS [RowID]
,ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
From InterestSubsidyReviseClaim
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1
)
SELECT ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
FROM DataSource
WHERE [RowID] = 1
您可以使用函数来完成此操作。例如:
;WITH DataSource AS
(
Select ROW_NUMBER() OVER (PARTITION BY BankName ORDER BY ClaimID DESC) AS [RowID]
,ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
From InterestSubsidyReviseClaim
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1
)
SELECT ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
FROM DataSource
WHERE [RowID] = 1
您可以使用函数来完成此操作。例如:
;WITH DataSource AS
(
Select ROW_NUMBER() OVER (PARTITION BY BankName ORDER BY ClaimID DESC) AS [RowID]
,ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
From InterestSubsidyReviseClaim
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1
)
SELECT ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
FROM DataSource
WHERE [RowID] = 1
我已经自己解决了
Select ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
From InterestSubsidyReviseClaim
Where ClaimId=(
Select max(ClaimId)
From InterestSubsidyReviseClaim
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1
group by BankId
)
我已经自己解决了
Select ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
From InterestSubsidyReviseClaim
Where ClaimId=(
Select max(ClaimId)
From InterestSubsidyReviseClaim
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1
group by BankId
)
我已经自己解决了
Select ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
From InterestSubsidyReviseClaim
Where ClaimId=(
Select max(ClaimId)
From InterestSubsidyReviseClaim
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1
group by BankId
)
我已经自己解决了
Select ClaimId
,InterestSubsidyClaimId
,BankId,BankName
,UpdatedPrincipalAmountofOutStanding
,[date]
From InterestSubsidyReviseClaim
Where ClaimId=(
Select max(ClaimId)
From InterestSubsidyReviseClaim
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1
group by BankId
)
我提到我只能通过InterestSubsidClaimId,所以没有ClaimIdines的范围,我明白了。你能试试我在下面提供的例子吗?我提到我只能通过InterestSubsidClaimId,所以没有ClaimIdines的范围,我明白了。你能试试我在下面提供的例子吗?我提到我只能通过InterestSubsidClaimId,所以没有ClaimIdines的范围,我明白了。你能试试我在下面提供的例子吗?我提到我只能通过InterestSubsidClaimId,所以没有ClaimIdines的范围,我明白了。你能试试下面我提供的例子吗?