عندما اقوم بتنفيذ الكود
select rank(salary) over(partition by gender) from employee
في postgresql يظهر الخطأ التالي
ERROR: WITHIN GROUP is required for ordered-set aggregate rank
ما احاول تنفيذه هو ان اقوم بترتيب رتبة الsalary حسب جنس الموظف
سبب تلك المشكلة أنك تقوم بإعطاء دالة الرتب(rank) معاملات (parameters) بينما تلك الدالة تعمل دون تمرير أي معاملات لها, إن كنت تريد ترتيب الموظفين بناءاً على مرتبهم إذا يجب عليك إعطاء الدالة over معامل order by salary لتصبح في النهاية الجملة كالتالي
select rank() over(partition by gender order by salary) from employee
وبوجه عام, نقوم بإعطاء دالة الover كمعامل أول العمود المُراد تقسيم الصفوف إلى مجموعات طبقاً لقيمته مسبوقاً بكلمة partition
في حالتك هنا تريد تقسيم البيانات إلى مجموعات طب