فاديا جميل نشر 21 أكتوبر 2021 أرسل تقرير نشر 21 أكتوبر 2021 لدي جدولين، جدول معلومات الشركات وجدول معلومات الموظفين وأريد ترتيب الشركات حسب أكبر عدد موظفنين فيها Companies: (id, name, country) employees: (company_id, name) 1 اقتباس
1 Hassan Hedr نشر 21 أكتوبر 2021 أرسل تقرير نشر 21 أكتوبر 2021 نقوم باختيار جميع حقول جدول الشركات، وتجميع تعداد حقل الأسماء في جدول الموظفين وتنفيذ عملية الربط بين الجدولين حسب معرف الشركة كالتالي SELECT Companies.*, COUNT(employees.name) AS employees_count FROM Companies LEFT JOIN employees ON Companies.id = employees.company_id بعدها نقوم بتجميع أسطر الشركة الواحدة عبر المعرف الخاص بها (لتفادي التكرار الناتج عن عملية الربط) GROUP BY Companies.id ثم نقوم بترتيب الناتج حسب حقل عدد موظفي الشركة المنشئ سابقا ORDER BY employees_count DESC 1 اقتباس
-1 شرف الدين حفني نشر 21 أكتوبر 2021 أرسل تقرير نشر 21 أكتوبر 2021 يمكنك تنفيذ ذلك عن طريق التالي: نقوم بإختيار عدد الموظفين في الشركة عبر الحقل company_id حيث يعبر عن الشركة التي يعبر بها الموظف, ويتم عن طريق الدالة count بالشكل التالي select count(employee.company_id),employee.company_id from employee ثم نقوم بتصنيف العناصر حسب حقل ال company_id بإستخدام group by group by(employee.company_id) ومن ثم نقوم بترتيب العناصر حسب عدد الcompany_id order by count(employee.company_id) اقتباس
السؤال
فاديا جميل
لدي جدولين، جدول معلومات الشركات وجدول معلومات الموظفين وأريد ترتيب الشركات حسب أكبر عدد موظفنين فيها
Companies: (id, name, country) employees: (company_id, name)
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.