这个查询有什么问题?无法让ROW_NUMBER()工作

Xai*_*oft 1 sql t-sql sql-server row-number

SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY hrl.Frn) as Row,
        hrl.unq, hrl.LcnsId, hc.Business,hc.Name,hc.Phone,
        hrl.Frn,hrl.CallSign, hrl.gsamarkettypeid, 
        gmt.[Market Type Code] + ' - ' + gmt.gsamarkettype,
        hrl.gsalatitude,hrl.gsalongitude,
        rsc.RadioServiceCode + ' - ' + rsc.RadioService, 
                    GrantDt, ExpirationDt, EffectiveDt, 
        CancellationDt
        FROM dbo.sbi_f_HldrRgstrtnLcns hrl
        INNER JOIN dbo.sbi_f_HldrCntcts hc on 
                    hc.CallSign = hrl.CallSign
        INNER JOIN dbo.sbi_l_radioservicecodes rsc on 
                    rsc.radioservicecodeid = hrl.radioservicecodeid
        LEFT OUTER JOIN dbo.sbi_l_GSAMarketTypes gmt on 
                    gmt.GSAMarketTypeId = hrl.GSAMarketTypeId
        WHERE hc.Entity_Type = 'L'  AND hrl.LicenseStatusId IN (1)
        and Row >=1 and Row <= 20) -- The error occurs here,
                    -- it says incorrect syntax near )
Run Code Online (Sandbox Code Playgroud)

Ted*_*ott 6

将行标准移动到外部选择中

SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY hrl.Frn) as Row,
     ...
               WHERE hc.Entity_Type = 'L'  AND hrl.LicenseStatusId IN (1)
              ) T
WHERE T.Row >=1 and T.Row <= 20)
Run Code Online (Sandbox Code Playgroud)