نمایش نتایج 1 تا 19 از 19

نام تاپیک: خواندن n رکورد آخر جدول

  1. #1
    کاربر دائمی آواتار mc_laren
    تاریخ عضویت
    آذر 1385
    محل زندگی
    بهبهان
    پست
    197

    خواندن n رکورد آخر جدول

    به نام خدا
    با سلام
    لطفا دوستان دستوری رو بگن که بشه با اون n رکورد آخر جدول رو خواند.

  2. #2

    نقل قول: خواندن n رکورد آخر جدول

    این دستور n رکرود اول رو می خونه !!
    Select Top n
    شما قبلش به صورتی که دوست داری بر حسب فیلد مورد نظر به صورت نزولی یا صعودی مرتب کن !!
    خواستن ، توانتستن است !!!

  3. #3
    کاربر دائمی آواتار mc_laren
    تاریخ عضویت
    آذر 1385
    محل زندگی
    بهبهان
    پست
    197

    نقل قول: خواندن n رکورد آخر جدول

    هدف من از خواندن رکوردهای آخر این می باشد که من می خواهم به آخرین رکورد اضافه شده دست پیدا کنم.

  4. #4

    نقل قول: خواندن n رکورد آخر جدول

    جواب آقا امین کاملا درسته اما شما سوالت خیلی با اونچه که مد نظرت بود فرق می کرد. اگر فقط آخرین مقدار رو می خواهی می تونی از تابع MAX استفاده کنی. اگر برای داشتن یک فیلد کد می خواهی می تونی یک فیلد Auto increment در جدولت تعریف کنی.
    کلا سوالت رو اگر دقیقتر مطرح کنی جواب دقیقتری می تونیم بدیم.

  5. #5
    کاربر تازه وارد آواتار mbm124
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    مشهد
    پست
    30

    نقل قول: خواندن n رکورد آخر جدول

    نقل قول نوشته شده توسط رضا جاسبی مشاهده تاپیک
    جواب آقا امین کاملا درسته اما شما سوالت خیلی با اونچه که مد نظرت بود فرق می کرد. اگر فقط آخرین مقدار رو می خواهی می تونی از تابع MAX استفاده کنی. اگر برای داشتن یک فیلد کد می خواهی می تونی یک فیلد Auto increment در جدولت تعریف کنی.
    کلا سوالت رو اگر دقیقتر مطرح کنی جواب دقیقتری می تونیم بدیم.
    سلام مگر تابع max براي بدست آوردن بزرگترين مقدار نمي باشد با تشكر

  6. #6
    کاربر دائمی آواتار kashaneh
    تاریخ عضویت
    آبان 1383
    محل زندگی
    در همین نزدیکی
    پست
    537

    نقل قول: خواندن n رکورد آخر جدول

    دوست عزيز چنانچه در جدول شما فيلدي وجود دارد كه خاصيت Identity آن True يا فعال است از طريق كوئري زير مي توانيد براي آن جدول همواره به آخرين مقدار دسترسي داشته باشيد

    كد :

    SELECT  IDENT_CURRENT('Table Name') AS LastValue


    موفق باشيد...

  7. #7
    کاربر دائمی آواتار SYNDROME
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    2,814

    با سلام

    اگر فیلد ID ترتیب ورود داده ها باشد که از یک شروع شود برای n رکورد آخر چنین عمل می کنیم.

    Select Top n
    From Tbl_Test
    Order By ID Desc

    جدول را نزولی صورت می کنیم و n رکورد ابتدایی را بر می گردانیم.
    موفق باشید

  8. #8
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: خواندن n رکورد آخر جدول

    نقل قول نوشته شده توسط mc_laren مشاهده تاپیک
    به نام خدا
    با سلام
    لطفا دوستان دستوری رو بگن که بشه با اون n رکورد آخر جدول رو خواند.
    یک فیلد از نوع datetime اضافه کن ، مقدار پیش فرض را هم getdatet() بگذار بعد می توانی به راحتی ترتیب ورود اطلاعات را کنترل کنی

  9. #9
    کاربر دائمی آواتار mc_laren
    تاریخ عضویت
    آذر 1385
    محل زندگی
    بهبهان
    پست
    197

    نقل قول: خواندن n رکورد آخر جدول

    ضمن تشکر از دوستان
    در جدول من برای فیلدی که می خواهم بدست آورم هیچ نظمی وجود ندارد
    فکر کنید مثلا می خواهم آخرین دانشجویی که در یک مسابقه شرکت کرده را پیدا
    کنم حالا در اینجا دیگه نظمی مطرح نیست و اصلا به تاریخ و زمان هم نمی شود
    اطمینان کرد چون توسط کاربر قابل تغییر می باشد. در ضمن ممکن نفری که اول ثبت نام
    کرده توسط کاربر حذف شود و دفعه بعد که مراجعه کرد نفر آخر می باشد پس می بینید
    که هیچ نظمی وجود ندارد.
    در ضمن این حالت ها همه یک مثال بود.

    ********************************************
    به نظر شما در این صورت آیا عنوان تاپیک مشکل دارد؟

  10. #10
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: خواندن n رکورد آخر جدول

    نقل قول نوشته شده توسط mc_laren مشاهده تاپیک
    ضمن تشکر از دوستان
    در جدول من برای فیلدی که می خواهم بدست آورم هیچ نظمی وجود ندارد
    فکر کنید .........
    روی یک مجموعه نا منظم نمی شود کاهارهای منظم انجام داد، به هر حال شما باید نمایه هایی برای مشخص کردن طوالی مسابقات و ... بکار ببرید

  11. #11
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    مشهد
    پست
    40

    نقل قول: خواندن n رکورد آخر جدول

    Select top 1 fildname from yourtable order by newid()--!\/|m

  12. #12
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: خواندن n رکورد آخر جدول

    سلام

    مطالب گفته شده برای موردی که
    یا فیلد identity و یا یک فیلد تاریخ وجود داشته باشه جوابگو هست

    در صورتیکه هیچکدوم از موارد فوق نباشه چطور میشه اینکار رو کرد؟

    آیا sql تو این زمینه ناتوانه؟


    با تشکر

  13. #13
    کاربر تازه وارد آواتار salimim
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    تهران
    پست
    50

    نقل قول: خواندن n رکورد آخر جدول

    با اجازه تمام اساتيد
    اگر از sql 2005 يا sql 2008 استفاده مي كنيد بايد با استفاده از ranking functions يك فيلد شماره گذاري استفاده كنيد سپس اونو به صورت معكوس sort كنيد و حالا top n رو درخواست كنيد.

    select top 5 row_number() over(order by order_col) as id,companyname,address from
    (
    select companyname,address,0 as order_col from northwind..Suppliers
    ) as t
    order by id desc

  14. #14
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: خواندن n رکورد آخر جدول

    سلام

    اگر از sql 2005 يا sql 2008 استفاده مي كنيد بايد با استفاده از ranking functions يك فيلد شماره گذاري استفاده كنيد سپس اونو به صورت معكوس sort كنيد و حالا top n رو درخواست كنيد.
    آیا این فیلد runtime اضافه میشه و یا ..
    در مورد کدتون بیشتر توضیح می دید؟


    با تشکر

  15. #15
    کاربر تازه وارد آواتار salimim
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    تهران
    پست
    50

    نقل قول: خواندن n رکورد آخر جدول

    بله runtime اضافه مي شه يه فيلد ترتيبي هست كه بدون در نظر گرفتن نظم خاصي( براساس) داده هاي فعلي فيلد RANK رو اضافه مي كنه.
    البته روشهاي ديگه يي هم براي rank دادن هست كه اينجا كاربرد نداره.

  16. #16
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: خواندن n رکورد آخر جدول

    سلام

    جناب salimim
    تشکر

    امکان داره در مورد اون کد(پست 8) بیشتر توضیح بدید ؟

    و مورد بعد اینکه آیا میشه با استفاده از اون select نوشت که مثلا رکوردهای مابین رکورد 100تا200 رو برگردونه؟


    با تشکر

  17. #17
    کاربر تازه وارد آواتار salimim
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    تهران
    پست
    50

    نقل قول: خواندن n رکورد آخر جدول

    اول جواب قسمت دوم!
    بله شما بايد 2 تا select بزنيد كه يكيش تا 200 امي را نتخاب كنيد بعد بدون desc فش 100 امي رو-- اميدوارم خوب گفته باشم


    و اما در مورد كدها

    select top 5 row_number() over(order by order_col)


    row_number يك فيلد ترتيبي ايجاد مي كنه كه بر اساس فيلد ذكر شده در over خواهد بود. از آنجائيكه ما هيچ ترتيبي رو مدنظر نداريم اونو بر اساس يك فيلد مجازي؟! كه توي همه ركوردها عدد صفر تعريف شده مرتب مي كنيم.
    0 as order_col

    همين!

  18. #18
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: خواندن n رکورد آخر جدول

    سلام

    تشکر
    شما بايد 2 تا select بزنيد كه يكيش تا 200 امي را نتخاب كنيد بعد بدون desc فش 100 امي رو-- اميدوارم خوب گفته باشم
    شما خوب گفتید ، اما من خوب متوجه نشدم ،امکان داره بیشتر توضیح بدید
    اگه یه قطعه کد بزارید که عالی میشه

    مورد بعد:
    نحوه استفاده از کد رو بدرستی متوجه نشدم
    اینطوری خطا میده
    select top 5 row_number() over(order by order_col) as id,* from cod
    order by id desc
    خطا
    Msg 207, Level 16, State 1, Line 1
    Invalid column name 'order_col'.
    این رو کجا باید بزارم
    0 as order_col


    با تشکر

  19. #19
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    دیار کریمان
    پست
    1,008

    نقل قول: خواندن n رکورد آخر جدول

    سلام
    دوستان عزیز کسی می تونه راهنمایی کنه؟


    با تشکر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •