خالد مرتضى نشر 28 سبتمبر 2021 أرسل تقرير نشر 28 سبتمبر 2021 ما معنى تلك الجملة في sql select count(*) over(partition by st_age order by st_id) from student وبشكل عام ﻻ افهم وظيفة ال over(partition) 1 اقتباس
0 شرف الدين حفني نشر 28 سبتمبر 2021 أرسل تقرير نشر 28 سبتمبر 2021 جملة over(partition) تقوم بتوزيع ناتج دالة الaggregate طبقاً للحقل الموضوع بعد كلمة by على سبيل المثال إن كان لدينا البيانات التالية { name:sharaf, age:21 } { name:ashraf, age: 49 } { name: mohamed, age:21 } { name:ahmed, age:25 } { name:saad, age:49 } إن قمت بتنفيذ الجملة select * , count(*) over(partition by st_age ) from table_name سيقوم بإرجاع البيانات , وسيقوم بحساب عدد العناصر حسب العمر فسنجد ناتج الجملة كالتالي name age count sharaf 21 2 ashraf 49 1 mohamed 49 2 ahmed 25 1 saad 21 2 ستﻻحظ جلب البيانات وبجانبها الحقل count الذي يحدد كم عدد البيانات المنتمية لنفس الage, حيث أن في العادي إن إستخدمت الaggregate functions تقوم بتحويل عدد من الصفوف إلى صف واحد, ولكن صيغة ال over partition والتي يتم أيضاً تسميتها بالwindow functions تقوم بإرجاع مجموعة الصفوف إلى مجموعة صفوف أيضاً وليس صف واحد اقتباس
السؤال
خالد مرتضى
ما معنى تلك الجملة في sql
وبشكل عام ﻻ افهم وظيفة ال over(partition)
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.