جناب علی عباسی،
مراقب باشین، کدتون خیلی خطرناکه، اگه منظورتون اینه که به ازای هر پرسنلی تمام سطرهاش به غیر از اونی که دارای بزرگترین مقدار در ستون last_modified هست حذف بشن کوئریتون کاملا اشتباست!
به تصویر زیر توجه بفرمایید، کوئری شما با داده های مذکور چه میکنید. فقط یک سطر رو حذف میکنه!
table.png
اگه راه حل صحیح میخواهین گزاره حاج محسن رو تبدیل به زبان SQL کنید که یک فرم پیاده سازیش به این شکل هست:
;with cte as
(select *,
row_number()
over(partition by employee_number
order by last_modified desc) as rnk
from CardTable)
Delete cte where rnk > 1;