سلام من با این تعداد رکورد های لازم را از ابتدای جدول حذف میکنم
Delete Top (5) From MyTbl
برای حذف مثلا 3 رکورد از انتهای جدول دستور چیه ؟
متشکر
سلام من با این تعداد رکورد های لازم را از ابتدای جدول حذف میکنم
Delete Top (5) From MyTbl
برای حذف مثلا 3 رکورد از انتهای جدول دستور چیه ؟
متشکر
اینقد سخت بود ؟!
اگر در جدولتون ستونی مثل تاریخ ثبت دارید یا یک ستونی که بوسیله اون ستون های آخر به شکلی مشخص باشد می توانید بر اساس اون desc order by کنید به این صورت:
Delete Top (3) * From MyTbl ORDER BY Date DESC
این ظوری ستون ها تون از آخر به اول مرتب می شوند و در واقع 3 تای آخر حذف می شوند
delete from t1 where id in(select top(3) id from t1 ORDER BY id DESC)
از هر دوی شما golnaz و fakhravari تشکر میکنم هر دو جواب داد تست کردم
نیاز هست از یک derived table در دستور delete استفاده کنید، مشابه این مثال:
--اعلام یک جدول از نوع متغیری
declare @sample table
(
id int not null primary key,
value int not null
);
-- مقداردهی جدول آزمایشی
insert into @sample
values (1, 1), (2, 2), (3, 3)
--نمایش داده های جدول
select * from @sample
/*
id value
----------- -----------
1 1
2 2
3 3
*/
--حذف دو سطر آخر بر اساس مقدار آی دی
delete t from
(
select top 2 id
from @sample
order by id desc
) t
--داده های باقی مانده بعد از عمل حذف
select * from @sample
/*
id value
----------- -----------
1 1
*/
وبلاگ من (Advanced SQL Querying)