SQL查询过滤了第一行和最后一行



我正在使用SAP数据服务,并且有一个我要过滤的表。我在SAP中无法想到的是什么,但是如果我使用可能的SQL查询。

我的问题是:如何进行查询,以滤除表中的第一行和最后一行?

SELECT ROW_ID, RECORD_TIMESTAMP, TRANSACTION_NO FROM MyTable
EXCEPT
SELECT TOP(1) ROW_ID, RECORD_TIMESTAMP, TRANSACTION_NO FROM MyTable ORDER BY ROW_ID ASC
EXCEPT
SELECT TOP(1) ROW_ID, RECORD_TIMESTAMP, TRANSACTION_NO FROM MyTable ORDER BY ROW_ID DESC
select *
from MY_TABLE
where TRANSACTION_NO > (select min(TRANSACTION_NO) from MY_TABLE)
    and TRANSACTION_NO < (select max(TRANSACTION_NO) from MY_TABLE)

您可以对TransAction_no(Row_id等)的任何列来代替您的数据构成的"第一个"one_answers"最后"。

select *
from (
   select t.*, 
          row_number() over (order by ROW_ID) as rn, 
          count(*) over () as total_count
   from the_table
) t 
where rn > 1 and rn < total_count;

如果您对"第一个"one_answers"最后"的定义未通过ROW_ID的订购来定义,则您需要在窗口函数的over(...)子句中调整order by ROW_ID

相关内容

  • 没有找到相关文章

最新更新