انتخاب چند رکورد از هر گروه

خرید بک لینک
سلام

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

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 هم وجود داشته باشد

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

با تشکر

- - , .

php مرکز کد های سایت...

ما را در سایت php مرکز کد های سایت دنبال می‌کنید

برچسب: نویسنده: استخدام کار بازدید: 168 تاريخ: يکشنبه 9 اسفند 1394 ساعت: 15:20

صفحه بندی