الفرق بين تجميع حسب وترتيب حسب في SQL

مؤلف: Laura McKinney
تاريخ الخلق: 1 أبريل 2021
تاريخ التحديث: 14 قد 2024
Anonim
تنسيق التقرير 02 _ومهارات تجميع البيانات _ في الاكسس
فيديو: تنسيق التقرير 02 _ومهارات تجميع البيانات _ في الاكسس

المحتوى


يسمح SQL بتنظيم البيانات التي تم الحصول عليها بواسطة الاستعلام. لدينا جملتان لتنظيم البيانات التي تم الحصول عليها من الاستعلام الذي يمثل جملة "تجميع حسب" و "ترتيب حسب". النقطة التي تميز جملة Group By و Order By هي تلك مجموعة من يتم استخدام الجملة عندما نريد تطبيق الوظيفة التجميعية على أكثر من مجموعة واحدة من tuples و ترتيب حسب يتم استخدام جملة عندما نريد فرز البيانات التي تم الحصول عليها بواسطة الاستعلام. دعونا نناقش بعض الاختلافات بين جملة Group By و جملة By Order بمساعدة مخطط المقارنة الموضح أدناه.

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة

أساس للمقارنةمجموعة منترتيب حسب
الأساسييستخدم Group By لتشكيل مجموعة من المجموعات.يتم استخدام "ترتيب حسب" لترتيب البيانات التي تم الحصول عليها نتيجة استعلام في نموذج تم الفرز.
صفة، عزا لا يمكن أن تكون السمة ضمن دالة التجميع في جملة Group By.يمكن أن تكون السمة تحت التجميع في ترتيب حسب جملة.
أرضتم على أساس التشابه بين قيم السمات.تم على أرض الواقع بترتيب تصاعدي وترتيب تنازلي.

تعريف المجموعة حسب الفقرة

يتم تطبيق الوظائف التجميعية مثل avg و min و max و sum و count على مجموعة واحدة من tuples. في حال ، إذا كنت ترغب في تطبيق الوظائف التجميعية على مجموعة مجموعة tuples ، فعندئذٍ لدينا مجموعة لكل جملة لذلك. تجميع حسب جملة مجموعات tuples التي لها نفس قيمة السمة.


هناك شيء واحد ل تذكر حول جملة Group By ، تأكد من أن صفة، عزا تحت ال مجموعة من يجب أن يظهر البند في تحديد شرط لكن ليس تحت وظيفة الكلي. إذا كانت جملة Group By تحتوي على سمة ليست ضمن جملة SELECT أو إذا كانت ضمن جملة SELECT ولكن ضمن دالة تجميعية ، يصبح الاستعلام خاطئًا. وبالتالي ، يمكننا القول أن جملة Group By تُستخدم دائمًا بالتعاون مع جملة SELECT.

دعونا نأخذ مثالاً لفهم جملة Group By.

SELECT Department _ID، avg (Salary) as avg_salary from Teacher Group By Department_ID.

يمكنك أن ترى أنه في البداية يتم تشكيل نتيجة وسيطة جمعت الأقسام.


بعد ذلك ، يتم تطبيق الوظيفة الإجمالية avg على كل مجموعة من الإدارات ، وتظهر النتيجة أدناه.

تعريف ترتيب حسب الفقرة

يستخدم ترتيب حسب جملة لعرض البيانات التي تم الحصول عليها عن طريق الاستعلام في الترتيب فرزها. مثل جملة Group By ، يتم استخدام جملة Order By أيضًا بالتعاون مع جملة SELECT. إذا لم تذكر ترتيب الفرز ، ففرز ترتيب حسب البيانات بترتيب تصاعدي. يمكنك تحديد ترتيب تصاعدي كـ تصاعدي وترتيب تنازلي كما تنازلي.

دعنا نفهم عمل ترتيب حسب جملة بمساعدة المثال التالي. لدينا جدول للمعلمين ، وسأطبق الفرز على عمودين Department_Id و المرتب ، من جدول المعلم.

حدد Department_ID ، الراتب من ترتيب المعلم حسب Department_Id تصاعدي ، تنازلي الراتب.

يمكنك أن ترى ذلك أولاً ، حيث يرتب القسم _ID بترتيب تصاعدي ثم يرتب الرواتب في نفس القسم بترتيب تنازلي.

  1. تجميع جملة بواسطة مجموعة tuples في علاقة تحت جملة SELECT. من ناحية أخرى ، يقوم ترتيب "ترتيب حسب" بترتيب نتيجة الاستعلام بترتيب تصاعدي أو تنازلي.
  2. لا يمكن أن تكون السمة تحت الوظيفة التجميعية ضمن جملة Group By ، بينما السمة تحت الوظيفة التجميعية يمكن أن تكون موجودة تحت جملة Order By.
  3. يتم تجميع tuples على أساس التشابه بين قيم السمة tuples. من ناحية أخرى ، يتم الترتيب أو الترتيب على أساس ترتيب تصاعدي أو ترتيب تنازلي.

خاتمة:

إذا كنت ترغب في تكوين مجموعة مجموعة tuples ، فعليك استخدام جملة Group By. في حال كنت ترغب في ترتيب بيانات عمود واحد ، أو أكثر من عمود واحد في مجموعة الصفوف في ترتيب تصاعدي أو تنازلي ، يجب استخدام جملة "ترتيب حسب".