как не выбрать 3-й ряд в выбранном запросе - PullRequest
0 голосов
/ 15 мая 2018

У меня есть таблица (скриншот прилагается). Когда в таблице 3 или более записей, я не хочу, чтобы она выбирала 3-ю строкуSQL-запрос:

  SELECT  POA.PurchaseOrder_AuthID, POA.Authorised,wc.Name ,POA.DateAuthorised,POA.DelayEscalationSentAt,AuthorisingContactID
     FROM  dbo.wsm_PurchaseOrder_Auth AS POA   
      INNER JOIN wsm_Contact AS WC ON POA.AuthorisingContactID=wc.ContactID  
     WHERE POA.PONumber = 'PO3841905_51_200908' order by  POA.PurchaseOrder_AuthID 
ASC  

я не могу использовать Group by, так как мне нужны все строки без агрегатной функции\ авторизующий идентификатор контакта может быть разным во 2-й и 3-й строке (в настоящее время он отображается в таблице) table Data

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

на этот вопрос ответили в предыдущем посте, но для сервера sql после 2012 года используйте этот код:

SELECT  *
FROM     Table 
ORDER BY OrdClm ASC 
OFFSET  2 ROWS 
FETCH NEXT 1 ROWS ONLY 

и предыдущая версия:

SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY OrdClm ) RowNr, * FROM Table ) t
WHERE RowNr=3
0 голосов
/ 15 мая 2018

не хочет выбирать 3-й ряд, используя ROW_NUMBER оконную функцию

select * from
 (
   select field1,
    row_number() over(order by purchaseorder_authid) rn
   from table

 ) x
where  x.rn <> 3
...