I am having some confusion regarding Deleting the top N Rows order by some column.
I created have an example here Example at fiddle
What is wrong with these
Add the top 3
clause to the subselect:
Delete from Table1
where id IN (
select top 3 id
from Table1
order by id desc
)
You can use a CTE to do a faster ordered delete without the need for a separate sub query to retrieve the top 3 ids.
WITH T
AS (SELECT TOP 3 *
FROM Table1
ORDER BY id DESC)
DELETE FROM T