2013-11-23 4 views
0

Вот моя таблицаполучить последнюю запись в группе

Select ClaimId 
,InterestSubsidyClaimId 
,BankId,BankName 
,UpdatedPrincipalAmountofOutStanding 
,[date] 

From InterestSubsidyReviseClaim 

Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId=1 

, что дает мне результат, как gggggg

теперь я хочу, номер записи 3 и 10 только

и я только «InterestSubsidyClaimId "

результате запись должна быть

trytt

так как это можно сделать ????

+0

я упомянул, что я могу только передать InterestSubsidyClaimId так что нет никакой возможности из claimID –

+0

Да, я понимаю. Не могли бы вы попробовать пример, который я привел ниже? – gotqn

ответ

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 

      ) 
1

Вы можете сделать это с помощью функции ROW_NUMBER. Например:

;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 
1
Select ClaimId 
,InterestSubsidyClaimId 
,BankId,BankName 
,UpdatedPrincipalAmountofOutStanding 
,[date] 
From InterestSubsidyReviseClaim a 
Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId = 1 
and exists ( 
    select max(ClaimId) 
    From InterestSubsidyReviseClaim b 
    Where IsActive = 1 and InterestSubsidyReviseClaim.InterestSubsidyClaimId = 1 
    group by BankId 
    having max(claimid) = a.claimId 
    ) 
Смежные вопросы