تم الحل: طلب عشوائي

آخر تحديث: 09/13/2023
نبذة عن الكاتب: مسار مصدر SQL

بالتأكيد، دعونا نتعمق في مشكلة برمجة SQL: الحصول على ترتيب عشوائي لصفوف البيانات. سنستكشف حلاً تدريجيًا ونشرح الكود ونناقش المكتبات أو الوظائف الضرورية لهذه المهمة.

يُعدّ توليد ترتيب عشوائي للصفوف في قاعدة بيانات SQL مفيدًا للغاية في ظروفٍ عديدة. على سبيل المثال، عند الحاجة إلى أخذ عينة من مجموعة البيانات لإجراء تحليل إحصائي، أو عند الحاجة إلى اختيار البيانات دون تحيز لترتيب مُسبق. على الرغم من عدم وجود دالة مباشرة لتوليد ترتيب عشوائي للصفوف كما هو الحال في بعض لغات البرمجة الأخرى، إلا أنه يُمكن تحقيق ذلك في SQL ببعض الإبداع وفهم جيد لكيفية عملها.

SELECT column
FROM table
ORDER BY NEWID();

وظيفة NEWID(): مفتاح العشوائية في SQL

الدالة NEWID هي وظيفة مضمنة في SQL Server تقوم بإنشاء معرف فريد عمومي (GUID). وفي سياقنا هذا، فهو المفتاح لتوليد العشوائية. يتم تعيين معرف عشوائي فريد لكل صف في الجدول، ثم يتم فرز البيانات حسب هذا المعرف، مما يؤدي إلى ترتيب عشوائي للصفوف.

ماذا يعني الرمز؟ دعونا نقسمها:
"العمود" هو التفاصيل التي ترغب في سحبها من قاعدة البيانات الأصلية. يمكن أن يكون اسمًا أو تاريخًا أو رقمًا مرجعيًا وما إلى ذلك. استبدل "العمود" باسم العمود الفعلي الذي تهتم به.
يشير "الجدول" إلى الجدول المصدر الذي تسحب منه البيانات.
ينشئ 'NEWID()' قيمة معرف فريد جديد.

من خلال تشغيل هذا الكود، ستعيد SQL بياناتنا بترتيب عشوائي جديد.

أخذ العينات العشوائية مع TABLESAMPLE في SQL

هناك طريقة أخرى يمكن لـ SQL من خلالها إنشاء عينة عشوائية من مجموعة بيانات أكبر. تتيح لك الدالة TABLESAMPLE الحصول على نسبة عشوائية من الصفوف من الجدول.

SELECT column
FROM table
TABLESAMPLE (10 PERCENT);

سيعيد أمر SQL هذا 10 بالمائة من الصفوف من الجدول. يرجى العلم بأن TABLESAMPLE تقوم بإرجاع نسبة تقريبية للصفوف وأنها قد لا تقوم دائمًا بإرجاع العدد الدقيق للصفوف المحددة، خاصة مع الجداول الأصغر حجمًا.

في الواقع، تُعدّ القدرة على استخراج مجموعة فرعية أو ترتيب عشوائي من البيانات أمرًا بالغ الأهمية لإجراء عمليات استكشاف دقيقة وموضوعية لقواعد البيانات باستخدام لغة SQL. من خلال فهم الدالتين NEWID() و TABLESAMPLE()، يُمكنك تلبية هذا المطلب بكفاءة. على الرغم من أن لغة SQL قد تختلف في طريقة عملها عن لغات البرمجة الأخرى التي قد تكون على دراية بها، إلا أن آلياتها الفريدة تُتيح إدارة البيانات واستكشافها بكفاءة عالية.

مكتبات SQL

هناك العديد من المكتبات التكميلية لدعم برمجة SQL. SQLAlchemy هي مكتبة مشهورة توفر مجموعة كاملة من أنماط الثبات المعروفة على مستوى المؤسسة، والمصممة للوصول إلى قاعدة البيانات بكفاءة وعالية الأداء. Pandasql هي حزمة أخرى تعمل على تبسيط عملية الاستعلام عن pandas DataFrames باستخدام بناء جملة SQL. يمكن أن يؤدي الإلمام بهذه المكتبات وفهمها إلى تحسين الكفاءة والقدرات بشكل كبير عند العمل مع SQL.

الوظائف ذات الصلة: