このクエリを実行したい
select *
from table
order asc
limit N;
ここで、Nは行の総数から10を引いたものです。
SELECT COUNT(*) FROM (SELECT * FROM table)
合計が189として返されるので、この場合、制限を179にします。
最も効率的なものかどうかはわかりませんが、主キーとしてフィールドが 1 つしかない場合、これは機能するはずです。
select *
from T1
where
T1.id not in (
select top(10) id
from T1
order by id desc
)
order by
id;
注文ごとに最後の行を取得し、キーで除外できます。
編集:
さらに良いことに、not in の代わりに、左外部結合を使用できます。
select
T1.*
from T1
left outer join ( select top(10) id from Enums_Tables order by id desc ) as T2
on
T1.id = T2.id
where
T2.id is null;