سوالی در رابطه با یک Query
با سلام
من 1 سوال دارم
لطفا پاسخ را فقط به زبان SQL بدین بدون کدهای برنامه نویسی و اتصال به پایگاه داده فقط خود Queryرو میخوام سوال یکی از کتابهاست برای درس پایگاه داده:
یک relation داریم به صورم زیر
(student_score(student_id,Score
می خوام یک Query بنویسم که اسم هر دانش آموز به علاوه ی رتبه ش رو پیدا کنه (یعنی بر اساس score به بالاترین score رتبه ی 1 بده به دومی 2 و ...)
ممنون میشم کمک کنید.:قلب:
نقل قول: سوالی در رابطه با یک Query
SELECT RANK () OVER (ORDER BY Score DESC) AS 'رتبه',* FROM student_score
نقل قول: سوالی در رابطه با یک Query
تابع Rank() همونطور که از اسمش پیداست برای رنکینگ و رتبه بندی استفاده میشه. فقط کافیه یه جوری بهش بگید که این رتبه بندی رو چجوری انجام بده. مثلاً در اینجا گفته شد که بر اساس فیلد Score و بصورت نزولی Desc انجام بده. یعنی کسی که Score بیشتری داره Rank بالاتری داشته باشه.
این تابع قابلیت دیگه ای هم داره. مثلاً میتونه بر حسب یک فیلد خاص قسمت بندی کنه و Rank هر رکورد رو داخل اون قسمت برگردونه. در حقیقت اطلاعات رو به چند پارتیشن تقسیم میکنه و ... البته در این مثال نیازی به استفاده از این قابلیت نبود
عملگر * هم یعنی بعد از نشون دادن رتبه، کل مشخصات رکورد رو نشون بده