امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
کمک برای MYSQL Query
نویسنده پیام
blackhat.net آفلاین
تازه وارد

ارسال‌ها: 11
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۸

تشکرها : 11
( 1 تشکر در 1 ارسال )
ارسال: #1
کمک برای MYSQL Query
2 تا تیبل داریم
topics که اطلاعات تاپیک ها توشه
فیلد ها: id,title

و دومی topicmembers که id کاربرانی که توی یک تاپیک شرکت کردند رو نشون میده
فیلد ها: id, user_id , topic_id

میخوایم با یک query یا بیشتر، اسم، ای دی و تعداد عضو های هر تاپیک رو بر اساس تعداد عضو بچینیم

برای اسم و آی دی تاپیک از query زیر استفاده میکنم:
کد:
select title from topics where id=XYZ
برای تعداد عضو های یک تاپیک هم از این یکی:
کد:
select count(m.id) from topicmembers as m , topics as t where t.id=m.topic_id

حالا اگه بخوایم این دو تا رو ترکیب کنیم،
یعنی لیست تاپیک ها رو بر اساس تعداد نفرات شرکت کننده بچینیم از چه query باید استفاده کنیم؟
۱۵-تير-۱۳۸۸, ۱۳:۱۵:۰۸
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #2
RE: کمک برای MYSQL Query
کد php:
select t.titlecount(m.idfrom topicmembers as m right join topics as t on t.id=m.topic_id group by t.id order by count(m.id

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۶-تير-۱۳۸۸, ۰۸:۳۳:۲۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : blackhat.net
blackhat.net آفلاین
تازه وارد

ارسال‌ها: 11
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۸

تشکرها : 11
( 1 تشکر در 1 ارسال )
ارسال: #3
RE: کمک برای MYSQL Query
آقا واقعا ممنونم!
100% کار کرد.
یه توضیح کوچولو هم میدی در مورد right join و اینکه چرا از این استفاده کردی؟
بازم خیلی حیلی ممنونم، عالی بود.
ببخشید الان که جا گذاری کردم توی کد های برنامه،
میبینم که بخاطر تعداد بالای تاپیک ها، خیلی Load سرور میره بالا

راهی هست که مثلا فقط 15 تای اول رو نشون بده و سریعتر لود بشه؟
چون limit 15 رو که میزاریم اول کل تیبل رو لود میکنه بعد 15 تاشو برمیگردونه
غیر از این راهی میشناسید که کل تاپیک ها رو چک نکنه؟
(آخرین ویرایش در این ارسال: ۱۶-تير-۱۳۸۸, ۰۹:۵۱:۰۶، توسط blackhat.net.)
۱۶-تير-۱۳۸۸, ۰۹:۱۷:۰۷
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #4
RE: کمک برای MYSQL Query
اگه فشار می یاره شما باید از کش استفاده کنی
یعنی تعداد پستها رو هر دفه جمع نکنی جمعش رو داشته باشی هر پستی هم که زده می شه یکی اضافه کنی
join هم اتصال دو تیبل هست کلمه right هم تعیین می کنه که فیلد هایی که در تیبل ست راستی هست حتی اگه معادل تو سمت چپ نداشته باشن رو هم نشون بده

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۱۷-تير-۱۳۸۸, ۰۹:۴۴:۰۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : blackhat.net
blackhat.net آفلاین
تازه وارد

ارسال‌ها: 11
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۸

تشکرها : 11
( 1 تشکر در 1 ارسال )
ارسال: #5
RE: کمک برای MYSQL Query
باز هم ممنون بخاطر همه چیز.
۱۷-تير-۱۳۸۸, ۱۰:۰۱:۲۲
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تبدیل تاریخ میلادی به خورشیدی در mysql lord_viper 2 2,935 ۲۲-فروردین-۱۴۰۰, ۱۴:۳۹:۵۸
آخرین ارسال: mhviolin
  [آموزشی] ریست پسورد mysql lord_viper 2 3,507 ۲۴-اردیبهشت-۱۳۹۲, ۱۶:۵۶:۲۸
آخرین ارسال: lord_viper
  [آموزشی] ساده تر کردن INsert و Update در mysql lord_viper 2 2,890 ۲۴-اردیبهشت-۱۳۹۲, ۱۶:۵۳:۴۰
آخرین ارسال: lord_viper
  آخرین رکورد جدول mysql mohamadpk 2 7,252 ۰۷-مرداد-۱۳۹۱, ۱۶:۰۱:۰۲
آخرین ارسال: amo-mohsen
  ارتباط با پایگاه داده mysql به صورت ریموت xxhacker 9 14,033 ۲۹-اردیبهشت-۱۳۸۹, ۲۱:۱۰:۳۸
آخرین ارسال: xxhacker
  طریقه ارتباط mysql با دلفی؟ dareini 2 5,678 ۰۱-اسفند-۱۳۸۸, ۲۳:۵۰:۴۵
آخرین ارسال: dareini
  کدوم query سبک تره؟ blackhat.net 1 2,543 ۰۹-بهمن-۱۳۸۸, ۱۰:۵۱:۳۵
آخرین ارسال: lord_viper
  آپلود عکس در mysql vahideh 2 7,792 ۰۷-شهریور-۱۳۸۸, ۲۱:۴۱:۳۸
آخرین ارسال: dead.kitten
  اشکال در جستجوی فارسی در mysql shamina 1 5,743 ۰۷-شهریور-۱۳۸۸, ۲۱:۴۰:۲۵
آخرین ارسال: dead.kitten
Rolleyes دانلود آخرین ورژن MYSQL K1MACLIN 4 13,171 ۲۰-اردیبهشت-۱۳۸۸, ۰۴:۱۵:۱۸
آخرین ارسال: K1MACLIN

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS