تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 2 از 2

نام تاپيک: انتخاب چند رکورد از هر گروه mysql

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2010
    پست ها
    26

    پيش فرض انتخاب چند رکورد از هر گروه mysql

    سلام

    سه جدول زیر رو در نظر بگیرید در nysql



    tbl_country

    name ____ id

    1 _______un
    2 ________ir
    3 _______uk



    tbl_city


    name _______ id_country ____ id

    1_____________1 __________c1
    2_____________1 __________c2
    3_____________1 __________c3
    4_____________1 __________c4
    5_____________1 __________c5
    6_____________2 __________c6
    7_____________2 __________c7
    8_____________2 __________c8
    9_____________2 __________c9
    10____________2 __________c10
    11____________3 __________c11
    12____________3 __________c12
    13____________3 __________c13
    14____________3 __________c14
    15____________3 __________c15



    tbl_address

    این جدول 45 سطر دارد

    name ______ id_country _______ id_city ____ id

    add_1 _________ 1 _______==_____ 1 ______ 1
    add_2 _________ 1 _______________ 1 ______ 2
    add_3 _________ 1 _______________ 1 ______ 3
    add_4 _________ 1 _______________ 1 ______ 4
    add_5 _________ 1 _______________ 1 ______ 5
    add_6 _________ 2 _______==_____ 1 ______ 6
    add_7 _________ 2 _______________ 1 ______ 7
    add_8 _________ 2 _______________ 1 ______ 8
    add_9 _________ 2 _______________ 1 ______ 9
    add_10 _________ 2 _______________ 1 _____ 10
    add_11 _________ 3 _______==_____1 ______ 11
    add_12 _________ 3 ______________ 1 ______ 12
    add_13 _________ 3 ______________ 1 ______ 13
    add_14 _________ 3 ______________ 1 ______ 14
    add_15 _________ 3 ______________ 1 ______ 15

    add_16 _________ 1 _______________ 2 ______ 16
    add_20 _________ 1 _______________ 2 ______ 20

    add_21 _________ 1 _______________ 3 ______ 21
    add_30 _________ 1 _______________ 3 ______ 25

    add_26 _________ 2 _______________ 2 ______ 26
    add_30 _________ 2 _______________ 2 ______ 30

    add_31 _________ 2 _______________ 3 ______ 31
    add_35 _________ 2 _______________ 3 ______ 35

    add_36 _________ 3 _______________ 2 ______ 36
    add_40 _________ 3 _______________ 2 ______ 40

    add_41 _________ 3 _______________ 3 ______ 41
    add_45 _________ 3 _______________ 3 ______ 45




    سوال : قسمت اول (مهمترین بخش)


    میخوایم از حدول ادرس ، از هرگروه کشور که مثلا کد شهرش1 هست ، سه سطر انتخاب کنیم . مثلا به جدول زیر برسیم


    id_city احتمالا WHERE میخوره

    ولی برای id_country نمیدونم چیکار کنم از group by _ limit 3 هم نتیجه نگرفتم

    برای نمایش نام هر شهر و کشور بجای id هم فکر کنم از inner join استفاده کنیم ایا بهینه است





    tbl_result





    name ______ id_country _______ id_city ____ id

    add_1 _________ 1 _______________ 1 ______ 1
    add_2 _________ 1 _______________ 1 ______ 2
    add_3 _________ 1 _______________ 1 ______ 3
    add_6 _________ 2 _______________ 1 ______ 6
    add_7 _________ 2 _______________ 1 ______ 7
    add_8 _________ 2 _______________ 1 ______ 8
    add_11 ________ 3 _______________ 1 ______ 11
    add_12 ________ 3 _______________ 1 ______ 12
    add_13 ________ 3 _______________ 1 ______ 13





    قسمت دوم
    این انتخاب با توجه به شرط اولیه (از هرگروه سه تا) به صورت رندم باشد یعنی احتمال نمایش ادرسی با نام add_5 هم وجود داشته باشد



    ممنون میشم بهینه ترین راه حل رو بفرمایید


    با تشکر


    Last edited by omid_bnt; 28-02-2016 at 06:57.

  2. #2
    داره خودمونی میشه
    تاريخ عضويت
    Apr 2010
    پست ها
    26

    پيش فرض ( قسمت 1 حل شد ) انتخاب چند رکورد از هر گروه

    سلام خوشبختانه تونستم یه قسمت رو به جواب برسم
    کد نهایی در پنج حالت کلی جهت اشنایی و برای استفاده دوستان در زیر قرار دادم



    ممکنه syntax هماهنگ با sqlite همین شرایط ( فقط مورد 5 ) رو هم دراختیارم بزارید؟ واقعا مهمه
    اگر در خود sqlite همچین کدی قابل پیاده سازی نیست پس اسکریپت php , sqlite رو کمک کنید بنویسم با سپاس فراوان
    یک نمومه برای mysql هم در [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] زیر
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]


    کد ساخت دیتابیس جهت تست

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



    1


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



    2

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید




    3

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید



    4
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    5
    5 - برای انتخاب رندم - به همراه join (کد کامل)

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by omid_bnt; 29-02-2016 at 09:57.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •