منتدى العرب التعليمى
أهلاً وسهلاً بأخي


أسعدنا تواجدك بيننا على أمل أن تستمتع وتستفيد
وننتظر مشاركاتك وتفاعلك
فمرحباً بك بين إخوانك وأخواتك
ونسأل الله لك التوفيق والنجاح والتميز
الــــــــــفـــــــــــر عــــــــــــــون الـــمــــصــــــر ى
منتدى العرب التعليمى
أهلاً وسهلاً بأخي


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

منتدى العرب التعليمى

منتدى العرب التعليمى تعليمى شامل
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 ترتيب النتائج MYSQL ORDER BY وتحديدها LIMIT

اذهب الى الأسفل 
كاتب الموضوعرسالة
الويب المصرى
الباشا صاحب المنتدى
الباشا صاحب المنتدى
الويب المصرى


عدد المساهمات : 434
تاريخ التسجيل : 14/11/2010
العمر : 37

ترتيب النتائج MYSQL ORDER BY وتحديدها LIMIT  Empty
مُساهمةموضوع: ترتيب النتائج MYSQL ORDER BY وتحديدها LIMIT    ترتيب النتائج MYSQL ORDER BY وتحديدها LIMIT  Emptyالأحد نوفمبر 21, 2010 12:50 am

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]


درس اليوم سوف نناقش به طريقتين جداد علينا
فى استخراج النتائج من احد الجداول.

وهما
1. ترتيب النتائج (ابجديا) إعتمادا على احد حقول الجدول بإستخدام ORDER BY
2. تحديد عدد النتائج التى يتم استخراجها.

نبدأ على بركة الله.

ترتيب النتائج التى يتم استخراجها.
امر ضرورى ويستعمل بشكل متكرر فى اغلب تطبيقات الإنترنت.

كاترتيب النتائج ترتيب تصاعدى, او تنازلى سواء للأرقام او الحروف, الخ.

كيف يتم ترتيب النتائج؟ يتم بإستخدام مشروطة ORDER BY

على سبيل المثال.

نريد ان نستخرج اسماء الأعضاء من جدول الأعضاء, ويتم ترتيبهم بناء على تاريخ تسجيل كل عضو.
يتم الأمر بالشكل التالى

كود :

SELECT username FROM `users` ORDER BY reg_date



بالصيغة الموضحة بالمثال السابق, سيتم عرض اسماء الأعضاء.
بحيث يعرض من قام بالتسجيل فى شهر 1 (كامثال) قبل من قام بالتسجيل فى شهر 2
وهكذا ترتيب تصاعدى.

ويمكننا إعادة صياغة الكود اعلاه ليتم العرض بإستخدام ترتيب تنازلى.

كود :

SELECT username FROM `users` ORDER BY reg_date DESC



ملحوظات سريعة:

* بما ان MySQL تعمل مع العديد من اللغات, والتى تقوم انت بتحديدها فى الـ character set و collation (كما تم مناقشتهم سابقا) سيتم التعامل مع الترتيب الأبجدى بناء على اللغة التى تم وضع البيانات بها داخل الجداول.
* سوف تتعرض كثيرا للحاجة لإستخدام ORDER BY مع اكواد تحتوى على WHERE او JOINS وعليه, يجب وضع ORDER BY بعدهم وليس قبلهم.



نأتى للجزء الثانى من درس اليوم

وهو تحديد النتائج التى يتم استخراجها.

والمقصود بتحديد النتائج, يعنى الحد الأقصى من النتائج التى يتم استخراجها.

بمعنى, ماذا اذا قمنا بتطبيق امر SELECT سوف يخرج بالعديد من النتائج, ونحن لا نحتاج من هذه النتائج الا اول 10 نتائج فقط؟
هذا هو المقصود بالتحديد وهو يتم بإستخدام الأمر LIMIT

لنرى مثال على ذلك

كود :

SELECT * FROM `users` WHERE uid > 1 LIMIT 10


سوف يتم استخراج كل بيانات الأعضاء التى رقم الـ uid لهم اكبر من 1
وبعد ان اضفنا LIMIT 10 هذا يعنى انه سوف يتم استخراج 10 حقول فقط!.

كما يمكننا ان نستخرج عدد معين من النتائج, ابتدأ من عدد اخر.

بمعنى مثلا, نريد ان نستخرج 5 نتائج فقط, وهذه الخمسة نتائج يتم عدها من بعد اول 10 نتائج, يعنى ابتداء من الناتج رقم 11 الى الناتج 15
يتم الأمر بالصورة التالية

كود :

SELECT * FROM `users` LIMIT 10,5



ملحوظة صغيرة: دائما سوف تحتاج مع الأمر LIMIT ان تقوم بعمل ORDER BY لأن بدون ORDER BY انت لا تعلم كيف سيتم ترتيب النتائج (الإفتراضى يتم ترتيبه بواسطة الـ PK فى الجدول) لذلك ينصح بإستخدام ORDER BY دائما مع LIMIT
وتوضع LIMIT بنهاية الكود بعد ORDER BY


وشئ اخر, مازال هناك معلومة تنقصنا حول التحكم فى النتائج التى يتم استخراجها وهى بإستخدام GROUP BY لكن هذا الأمر سنتعلمه فى دروس لاحقة بإذن الله.

المصدر: [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://egypt1.forumegypt.net
 
ترتيب النتائج MYSQL ORDER BY وتحديدها LIMIT
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» ادخال البيانات INSERT in MySql
» لمحة بسيطة عن MySql
» دوال النصوص فى MySQL
» الدوال الرقمية فى MYSQL
» خاتمة دروة MYSQL

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى العرب التعليمى :: منتدى البرمجة والتصميم والتطوير :: قسم قواعد البيانات :: قسم دورة Microsoft my SQL-
انتقل الى: