PDA

View Full Version : sort کردن رکورهای سلکت شده بعد از فیلتر کردن



once4ever
جمعه 21 اردیبهشت 1386, 17:57 عصر
تعداد زیادی رکورد هست که میخوام بعد از فیلتر کردن
اونارو sort کنم
(مگه اینکه sort کردن معمولی , بعد از فیلتر کردن انجام بشه)

SYNDROME
جمعه 21 اردیبهشت 1386, 18:12 عصر
با سلام
اگر منظورتو درست فهمیده باشم


Select *
From Tbl_Test
Where Code = 10
Order By Name

once4ever
جمعه 21 اردیبهشت 1386, 22:58 عصر
تو این دستوری که نوشتی
آیا اول sort میشه و بعد filter میشه یا اول فیلتر میشه و بعد sort میشه؟

AminSobati
جمعه 21 اردیبهشت 1386, 23:02 عصر
در منطق اجرای Query قسمت Where تقدم داره بر Order BY

once4ever
جمعه 21 اردیبهشت 1386, 23:20 عصر
پس هم رکوردهای انتخاب شده رو sort میکنه (یعنی تو 10000رکورد که 10تاش فقط سلکت میشن sort میشن آره؟)
و هم اینکه دفعه بعد اگه بگیم رکورد اول انتخاب کن (TOP 1) این sort کردن هیچ تغییری تو انتخاب ما نداشته. درسته؟

DonetKarvb
شنبه 22 اردیبهشت 1386, 00:49 صبح
شما برای اینکه ببینی این کوئری شما چونه اجرا میشه کافیست که توی managment Studio دکمه های Ctrl+ L رو بزنید .

once4ever
شنبه 22 اردیبهشت 1386, 08:58 صبح
شما برای اینکه ببینی این کوئری شما چونه اجرا میشه کافیست که توی managment Studio دکمه های Ctrl+ L رو بزنید . اینکارو با اکسس دارم میکنم http://us.i1.yimg.com/us.yimg.com/i/mesg/emoticons7/32.gif
الان میان منتقلم میکنن

DonetKarvb
شنبه 22 اردیبهشت 1386, 14:03 عصر
چیز هایی تو SQL Server هست که توی Access نیست. نظیر همین query Processor و یا Execution plan.
به عبارتی تو اکسس همانطوری که کوئری نوشته میشه اجرا میشه.
پس یاید کوئریت رو طوری بنویسی که حجم رکورد ها برای سورت کم باشند.
البته بازم نبست به کار Access مطمئن نیستم ؟؟

once4ever
شنبه 22 اردیبهشت 1386, 15:44 عصر
در منطق اجرای Query قسمت Where تقدم داره بر Order BY
اگه این جمله برای تمام بانکهای تحت استاندارد sql برقرار باشه, پس نباید مواردی که گفتم همونجوری نجام میشه!
درسته؟

SYNDROME
شنبه 22 اردیبهشت 1386, 22:24 عصر
با سلام

تو این دستوری که نوشتی
آیا اول sort میشه و بعد filter میشه یا اول فیلتر میشه و بعد sort میشه؟
البته درسته که اول Filterمی شود و بعد Sort.
مهم نیست اول Sortشود بعد Filterشود یا برعکس چون جواب یکی.
مثال
ID
4
2
3
6
5
1


Select *
Where ID <4
Order BY ID

1:Filter
2
3
1
2:Sort
1
2
3
یا
1-Sort
1
2
3
4
5
6
2-فییلتر
1
2
3
آیا در جواب شما فرقی میکند؟:متفکر:

once4ever
یک شنبه 23 اردیبهشت 1386, 00:06 صبح
ایول. حالا خودت نگاه کن ببین چقدر فرق میکنه
فرض کن 12000تا رکورد داری
وقتی اول فیلتر میکنی مثلا 6تا رکورد بدست میاد و بعد sort میکنی
ولی اگه اول بخواد 12000تا sort کنه و بعد filter کنه, میدونی زمانش چقدر میشه؟
حالا بازم فرق نمیکنه؟ :متفکر: