将OFFSet子句与SQL一起使用

问题描述 投票:0回答:1

我正在尝试使用此偏移量,但似乎无法理解该偏移量适合的位置。

任何帮助将不胜感激

CREATE PROCEDURE [dbo].[get_bidLossModified]
    @current_winner varchar (30), 
    @limit varchar(30)
AS
BEGIN
    SELECT 
        vehicle_id, bid_value 
    FROM 
        auctionDetails 
    WHERE 
        current_winner = @current_winner 
    OFFSET (@limit - 1)*10 ROWS
    FETCH NEXT 10 ROWS ONLY

    EXCEPT 

    SELECT  
        vehicle_id, MAX(bid_value)
    FROM    
        auctionDetails 
    WHERE 
        status = '0' 
    GROUP BY 
        vehicle_id
END
sql-server database stored-procedures fetch offset
1个回答
0
投票

我怀疑您要使用子查询:

SELECT ad.*
FROM ((SELECT vehicle_id, bid_value
       FROM auctionDetails
       WHERE current_winner=@current_winner 
       ) except
       (SELECT  vehicle_id, MAX(bid_value)
        FROM auctionDetails 
        WHERE status = 0   -- probably a number so removed quotes
        GROUP BY vehicle_id
       )
      ) ad
ORDER BY vehicle_id, bid_value
OFFSET  (@limit - 1)*10 ROWS
FETCH NEXT 10 ROWS ONLY;
© www.soinside.com 2019 - 2024. All rights reserved.