PDA

View Full Version : حذف چندین رکورد از انتهای جدول



امیر مهرشاد
جمعه 08 آذر 1392, 13:27 عصر
سلام من با این تعداد رکورد های لازم را از ابتدای جدول حذف میکنم



Delete Top (5) From MyTbl


برای حذف مثلا 3 رکورد از انتهای جدول دستور چیه ؟

متشکر

امیر مهرشاد
جمعه 08 آذر 1392, 15:32 عصر
اینقد سخت بود ؟!:متفکر:

golnaz_a
جمعه 08 آذر 1392, 18:24 عصر
اگر در جدولتون ستونی مثل تاریخ ثبت دارید یا یک ستونی که بوسیله اون ستون های آخر به شکلی مشخص باشد می توانید بر اساس اون desc order by کنید به این صورت:


Delete Top (3) * From MyTbl ORDER BY Date DESC


این ظوری ستون ها تون از آخر به اول مرتب می شوند و در واقع 3 تای آخر حذف می شوند

fakhravari
جمعه 08 آذر 1392, 22:48 عصر
delete from t1 where id in(select top(3) id from t1 ORDER BY id DESC)

امیر مهرشاد
جمعه 08 آذر 1392, 22:55 عصر
از هر دوی شما golnaz و fakhravari تشکر میکنم هر دو جواب داد تست کردم :تشویق:

محمد سلیم آبادی
جمعه 08 آذر 1392, 23:00 عصر
نیاز هست از یک 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
*/

fakhravari
جمعه 08 آذر 1392, 23:08 عصر
http://fakhravary.blogfa.com/post/122

امیر مهرشاد
شنبه 09 آذر 1392, 21:09 عصر
نیاز هست از یک 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
*/

مدیر عزیز بسیار از شما متشکرم سمپل عالیتون مطمعنا بدر بقیه هم میخوره

امیر مهرشاد
شنبه 09 آذر 1392, 21:11 عصر
http://fakhravary.blogfa.com/post/122

خیلی جالبه بقیه دوستان هم این لینکو ببینند واقعا زیباست