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的范围,我明白了。你能试试下面我提供的例子吗?