logo

ترتيب SQL حسب الجملة مع ترتيب تنازلي

  • عندما نريد فرز السجلات بناء على الأعمدة المخزنة في جداول قاعدة بيانات SQL، فإننا نفكر في استخدام جملة ORDER BY في SQL.
  • تساعدنا عبارة ORDER BY في SQL على فرز السجلات بناءً على عمود معين في الجدول. هذا يعني أنه في البداية، سيتم فرز جميع القيم المخزنة في العمود الذي نطبق عليه جملة ORDER BY. بعد ذلك سيتم عرض قيم الأعمدة المقابلة بنفس التسلسل الذي تم به الحصول على القيم التي حصلنا عليها في الخطوة السابقة.
  • باستخدام جملة ORDER BY، يمكننا فرز السجلات بترتيب تصاعدي أو تنازلي حسب متطلباتنا. سيتم فرز السجلات بترتيب تصاعدي كلما تم استخدام الكلمة الأساسية ASC مع جملة ORDER by. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي . إذا لم يتم تحديد كلمة رئيسية بعد العمود الذي يتعين علينا فرز السجلات بناءً عليه، ففي هذه الحالة، سيتم الفرز افتراضيًا بترتيب تصاعدي.

قبل كتابة الاستعلامات لفرز السجلات، دعونا نفهم بناء الجملة.

بناء الجملة لفرز السجلات بترتيب تنازلي:

SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC; 

دعونا نستكشف المزيد حول هذا الموضوع بمساعدة الأمثلة. سوف نستخدم قاعدة بيانات MySQL لكتابة الاستعلامات في الأمثلة.

لنفترض أن لدينا جدول عملاء يحتوي على السجلات التالية:

بطاقة تعريف اسم عمر عنوان مرتب
1 هيماني جوبتا واحد وعشرين مودي نجار 22000
2 شيفا تيواري 22 بوبال 21000
3 اجيت بهارجاف أربعة خمسة ميروت 65000
4 ريتيش ياداف 36 ازامجاره 26000
5 بالوانت سينغ أربعة خمسة فاراناسي 36000
6 ماهيش شارما 26 ماثورا 22000
7 روهيت سريفاستافا 19 أحمد آباد 38000
8 نيرو شارما 29 بيون 40000
9 عكاش ياداف 32 مومباي 43500
10 Sahil Sheikh 35 اورانجاباد 68800

مثال 1:

اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لأسماء العملاء المخزنة في جدول العملاء.

استفسار:

mysql> SELECT *FROM customers ORDER BY Name DESC;

هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'الاسم' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.

سوف تحصل على الإخراج التالي:

بطاقة تعريف اسم عمر عنوان مرتب
2 شيفا تيواري 22 بوبال 21000
10 Sahil Sheikh 35 اورانجاباد 68800
7 روهيت سريفاستافا 19 أحمد آباد 38000
4 ريتيش ياداف 36 ازامجاره 26000
8 نيرو شارما 29 بيون 40000
6 ماهيش شارما 26 ماثورا 22000
1 هيماني جوبتا واحد وعشرين مودي نجار 22000
5 بالوانت سينغ أربعة خمسة فاراناسي 36000
3 اجيت بهارجاف أربعة خمسة ميروت 65000
9 عكاش ياداف 32 مومباي 43500

يتم عرض كافة السجلات الموجودة في جدول العملاء بالترتيب التنازلي لاسم العميل.

مثال 2:

اكتب استعلامًا لفرز السجلات بالترتيب التنازلي للعناوين المخزنة في جدول العملاء.

استفسار:

mysql> SELECT *FROM customers ORDER BY Address DESC;

هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على عمود 'العنوان' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.

سوف تحصل على الإخراج التالي:

بطاقة تعريف اسم عمر عنوان مرتب
5 بالوانت سينغ أربعة خمسة فاراناسي 36000
8 نيرو شارما 29 بيون 40000
9 عكاش ياداف 32 مومباي 43500
1 هيماني جوبتا واحد وعشرين مودي نجار 22000
3 اجيت بهارجاف أربعة خمسة ميروت 65000
6 ماهيش شارما 26 ماثورا 22000
2 شيفا تيواري 22 بوبال 21000
4 ريتيش ياداف 36 ازامجاره 26000
10 Sahil Sheikh 35 اورانجاباد 68800
7 روهيت سريفاستافا 19 أحمد آباد 38000

يتم عرض جميع السجلات الموجودة في جدول العملاء بالترتيب التنازلي لعنوان العميل.

مثال 3:

اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لراتب العميل المخزن في جدول العملاء.

استفسار:

mysql> SELECT *FROM customers ORDER BY Salary DESC;

هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'Salary' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.

سوف تحصل على الإخراج التالي:

بطاقة تعريف اسم عمر عنوان مرتب
10 Sahil Sheikh 35 اورانجاباد 68800
3 اجيت بهارجاف أربعة خمسة ميروت 65000
9 عكاش ياداف 32 مومباي 43500
8 نيرو شارما 29 بيون 40000
7 روهيت سريفاستافا 19 أحمد آباد 38000
5 بالوانت سينغ أربعة خمسة فاراناسي 36000
4 ريتيش ياداف 36 ازامجاره 26000
6 ماهيش شارما 26 ماثورا 22000
1 هيماني جوبتا واحد وعشرين مودي نجار 22000
2 شيفا تيواري 22 بوبال 21000

يتم عرض جميع السجلات الموجودة في جدول العملاء بالترتيب التنازلي لراتب العميل.

مثال 4:

اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لعمر العميل المخزنة في جدول العملاء.

استفسار:

mysql> SELECT *FROM customers ORDER BY Age DESC;

هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'العمر' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.

سوف تحصل على الإخراج التالي:

بطاقة تعريف اسم عمر عنوان مرتب
3 اجيت بهارجاف أربعة خمسة ميروت 65000
5 بالوانت سينغ أربعة خمسة فاراناسي 36000
4 ريتيش ياداف 36 ازامجاره 26000
10 Sahil Sheikh 35 اورانجاباد 68800
9 عكاش ياداف 32 مومباي 43500
8 نيرو شارما 29 بيون 40000
6 ماهيش شارما 26 ماثورا 22000
2 شيفا تيواري 22 بوبال 21000
1 هيماني جوبتا واحد وعشرين مودي نجار 22000
7 روهيت سريفاستافا 19 أحمد آباد 38000

يتم عرض جميع السجلات الموجودة في جدول العملاء بالترتيب التنازلي لعمر العميل.

لنفترض أن لدينا جدولًا آخر باسم الوكلاء يحتوي على السجلات التالية:

يساعد اسم منطقة العمل Profit_Percent رقم الاتصال مرتب
1 جوربريت سينغ بنغالور 1 9989675432 43000
2 ساكشي كوماري تشيناي 5 8190567342 25000
3 براتشي ديساي مومباي 2 9056123432 60000
4 شيفاني المزيد بيون 3 8894236789 35500
5 بالافي سينغ دلهي 4 7798092341 38700
6 روهيني كولكارني امبالا 8 7890945612 25670
7 قالت شويتا شانديغار 6 8898786453 31670
8 سوناكشي تيواري أودايبور 2 9809453421 25050
9 أنوشكا تريباثي على أصابعك 9 8909124326 38000
10 ديفيكا شارما جوا 7 7864523145 44050

مثال 1:

اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لأسماء الوكلاء المخزنة في جدول الوكلاء.

استفسار:

mysql> SELECT *FROM agents ORDER BY Name DESC;

هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'الاسم' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.

سوف تحصل على الإخراج التالي:

يساعد اسم منطقة العمل Profit_Percent رقم الاتصال مرتب
8 سوناكشي تيواري أودايبور 2 9809453421 25050
7 قالت شويتا شانديغار 6 8898786453 31670
4 شيفاني المزيد بيون 3 8894236789 35500
2 ساكشي كوماري تشيناي 5 8190567342 25000
6 روهيني كولكارني امبالا 8 7890945612 25670
3 براتشي ديساي مومباي 2 9056123432 60000
5 بالافي سينغ دلهي 4 7798092341 38700
1 جوربريت سينغ بنغالور 1 9989675432 43000
10 ديفيكا شارما جوا 7 7864523145 44050
9 أنوشكا تريباثي على أصابعك 9 8909124326 38000

يتم عرض كافة السجلات الموجودة في جدول الوكلاء بالترتيب التنازلي لاسم الوكيل.

مثال 2:

اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لراتب الوكيل المخزن في جدول الوكلاء.

استفسار:

mysql> SELECT *FROM agents ORDER BY Salary DESC;

هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'Salary' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.

سوف تحصل على الإخراج التالي:

يساعد اسم منطقة العمل Profit_Percent رقم الاتصال مرتب
3 براتشي ديساي مومباي 2 9056123432 60000
10 ديفيكا شارما جوا 7 7864523145 44050
1 جوربريت سينغ بنغالور 1 9989675432 43000
5 بالافي سينغ دلهي 4 7798092341 38700
9 أنوشكا تريباثي على أصابعك 9 8909124326 38000
4 شيفاني المزيد بيون 3 8894236789 35500
7 قالت شويتا شانديغار 6 8898786453 31670
6 روهيني كولكارني امبالا 8 7890945612 25670
8 سوناكشي تيواري أودايبور 2 9809453421 25050
2 ساكشي كوماري تشيناي 5 8190567342 25000

يتم عرض جميع السجلات الموجودة في جدول الوكلاء بالترتيب التنازلي لراتب الوكيل.

مثال 3:

اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لمنطقة عمل الوكيل المخزنة في جدول الوكلاء.

استفسار:

mysql> SELECT *FROM agents ORDER BY WorkArea DESC;

هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'WorkArea' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.

ما هو حجم هذه الشاشة

سوف تحصل على الإخراج التالي:

يساعد اسم منطقة العمل Profit_Percent رقم الاتصال مرتب
9 أنوشكا تريباثي على أصابعك 9 8909124326 38000
8 سوناكشي تيواري أودايبور 2 9809453421 25050
4 شيفاني المزيد بيون 3 8894236789 35500
3 براتشي ديساي مومباي 2 9056123432 60000
10 ديفيكا شارما جوا 7 7864523145 44050
5 بالافي سينغ دلهي 4 7798092341 38700
2 ساكشي كوماري تشيناي 5 8190567342 25000
7 قالت شويتا شانديغار 6 8898786453 31670
1 جوربريت سينغ بنغالور 1 9989675432 43000
6 روهيني كولكارني امبالا 8 7890945612 25670

يتم عرض كافة السجلات الموجودة في جدول الوكلاء بالترتيب التنازلي لمنطقة عمل الوكيل.

مثال 4:

اكتب استعلامًا لفرز السجلات بالترتيب التنازلي لنسبة ربح الوكيل المخزنة في جدول الوكلاء.

استفسار:

mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;

هنا في استعلام SELECT، يتم تطبيق عبارة ORDER BY على العمود 'Profit_Percent' لفرز السجلات. ستقوم الكلمة الأساسية DESC بفرز السجلات بترتيب تنازلي.

سوف تحصل على الإخراج التالي:

يساعد اسم منطقة العمل Profit_Percent رقم الاتصال مرتب
9 أنوشكا تريباثي على أصابعك 9 8909124326 38000
6 روهيني كولكارني امبالا 8 7890945612 25670
10 ديفيكا شارما جوا 7 7864523145 44050
7 قالت شويتا شانديغار 6 8898786453 31670
2 ساكشي كوماري تشيناي 5 8190567342 25000
5 بالافي سينغ دلهي 4 7798092341 38700
4 شيفاني المزيد بيون 3 8894236789 35500
3 براتشي ديساي مومباي 2 9056123432 60000
8 سوناكشي تيواري أودايبور 2 9809453421 25050
1 جوربريت سينغ بنغالور 1 9989675432 43000

يتم عرض كافة السجلات الموجودة في جدول الوكلاء بالترتيب التنازلي لنسبة ربح الوكيل.