hamidhassas
سه شنبه 26 فروردین 1393, 11:57 صبح
سلام
من یک دیتابیس دارم که در اون محصولات با نوع شرکت سازنده در اون زخیره شدن میخوام کاری کنم که سیستم کل رکورد ها رو بر اساس company برسی کنه ببینه کدوم رکورد ها بیشترین تکرار رو دارن و بعد بیاد بگه از کل رکورد های موجود که بر اساس در فیلد company برسی شدن عدد 5 و بعد عدد 12 و بعد عدد 16 بیشترین تکرار رو دارن که که هر عدد کد یک شرکت هست مثلا 5 شرکت نوکیا و 12 شرکت سامسونگ و 16 شرکت اپل
چهار رققم بیشترین تکرار و کمترین تکرار میخوام یعنی از کدوم شرکت ها بیشترین محصول ثبت شده و از کدوم شرکت ها کمترین محصول
و اینکه تا حالا محصولات چند شرکت ثبت شدن
عدد ها رو خودش تشخیص بده که کدوم محصولات بیشترین و کمترن مقدار ثبت سیستم شدن عدد ها رو خودم بعد به نام شرکت ها تغییر میدم
با کد مشابه زیر میتونی رکوردهایی رو که بر اساس به فیلد خاص تکراری هستن رو بدست بیاری.
1
SELECT `company_id` FROM `tbl_products` group by `company_id` having count(*) >= 1
اما بستگی داره به ساختار جدولت و نوع ذخیره سازی.
اگه یه جدول داری که توش آیدی شرکت و اطلاعات محصول رو توش ذخیره میکنی، میتونی از دستور بالا استفاده کنی.
حالا اگه بخوای کمینه یا بیشینه نتایج رو بدست بیاری میتونی از limit و یا دستور top برای انتخاب تعداد رکورد مشخص و از دستور order by برای مرتب سازی استفاده کنی.
مثال:
1
SELECT `company_id`,count(`company_id`) as `count` FROM `tbl_products` group by `company_id` having count(*) >= 1 ORDER BY `count` DESC LIMIT 2
این کد 2 تا از شرکت هایی رو که بیشترین فروش دارن رو بر میگردونه.
حالا اگه بخوای شرکت هایی که کمترین فروش رو دارن رو بدست بیاری کافیه نوع مرتب سازی رو عوض کنی:
1
SELECT `company_id`,count(`company_id`) as `count` FROM `tbl_products` group by `company_id` having count(*) >= 1 ORDER BY `count` ASC LIMIT 2
ظاهرا شما این کدها رو عینا کپی پیست میکنین که میگین کار نمیکنه! خب باید ویرایشش کنین دیگه!
من یک دیتابیس دارم که در اون محصولات با نوع شرکت سازنده در اون زخیره شدن میخوام کاری کنم که سیستم کل رکورد ها رو بر اساس company برسی کنه ببینه کدوم رکورد ها بیشترین تکرار رو دارن و بعد بیاد بگه از کل رکورد های موجود که بر اساس در فیلد company برسی شدن عدد 5 و بعد عدد 12 و بعد عدد 16 بیشترین تکرار رو دارن که که هر عدد کد یک شرکت هست مثلا 5 شرکت نوکیا و 12 شرکت سامسونگ و 16 شرکت اپل
چهار رققم بیشترین تکرار و کمترین تکرار میخوام یعنی از کدوم شرکت ها بیشترین محصول ثبت شده و از کدوم شرکت ها کمترین محصول
و اینکه تا حالا محصولات چند شرکت ثبت شدن
عدد ها رو خودش تشخیص بده که کدوم محصولات بیشترین و کمترن مقدار ثبت سیستم شدن عدد ها رو خودم بعد به نام شرکت ها تغییر میدم
با کد مشابه زیر میتونی رکوردهایی رو که بر اساس به فیلد خاص تکراری هستن رو بدست بیاری.
1
SELECT `company_id` FROM `tbl_products` group by `company_id` having count(*) >= 1
اما بستگی داره به ساختار جدولت و نوع ذخیره سازی.
اگه یه جدول داری که توش آیدی شرکت و اطلاعات محصول رو توش ذخیره میکنی، میتونی از دستور بالا استفاده کنی.
حالا اگه بخوای کمینه یا بیشینه نتایج رو بدست بیاری میتونی از limit و یا دستور top برای انتخاب تعداد رکورد مشخص و از دستور order by برای مرتب سازی استفاده کنی.
مثال:
1
SELECT `company_id`,count(`company_id`) as `count` FROM `tbl_products` group by `company_id` having count(*) >= 1 ORDER BY `count` DESC LIMIT 2
این کد 2 تا از شرکت هایی رو که بیشترین فروش دارن رو بر میگردونه.
حالا اگه بخوای شرکت هایی که کمترین فروش رو دارن رو بدست بیاری کافیه نوع مرتب سازی رو عوض کنی:
1
SELECT `company_id`,count(`company_id`) as `count` FROM `tbl_products` group by `company_id` having count(*) >= 1 ORDER BY `count` ASC LIMIT 2
ظاهرا شما این کدها رو عینا کپی پیست میکنین که میگین کار نمیکنه! خب باید ویرایشش کنین دیگه!