PDA

View Full Version : سوال: سوالی در رابطه با یک Query



Shahab_H
یک شنبه 13 دی 1388, 19:50 عصر
با سلام
من 1 سوال دارم
لطفا پاسخ را فقط به زبان SQL بدین بدون کدهای برنامه نویسی و اتصال به پایگاه داده فقط خود Queryرو میخوام سوال یکی از کتابهاست برای درس پایگاه داده:
یک relation داریم به صورم زیر

(student_score(student_id,Score

می خوام یک Query بنویسم که اسم هر دانش آموز به علاوه ی رتبه ش رو پیدا کنه (یعنی بر اساس score به بالاترین score رتبه ی 1 بده به دومی 2 و ...)
ممنون میشم کمک کنید.:قلب:

Hamid.Kad
دوشنبه 14 دی 1388, 11:01 صبح
SELECT RANK () OVER (ORDER BY Score DESC) AS 'رتبه',* FROM student_score

Hamid.Kad
دوشنبه 14 دی 1388, 11:34 صبح
تابع Rank() همونطور که از اسمش پیداست برای رنکینگ و رتبه بندی استفاده میشه. فقط کافیه یه جوری بهش بگید که این رتبه بندی رو چجوری انجام بده. مثلاً در اینجا گفته شد که بر اساس فیلد Score و بصورت نزولی Desc انجام بده. یعنی کسی که Score بیشتری داره Rank بالاتری داشته باشه.
این تابع قابلیت دیگه ای هم داره. مثلاً میتونه بر حسب یک فیلد خاص قسمت بندی کنه و Rank هر رکورد رو داخل اون قسمت برگردونه. در حقیقت اطلاعات رو به چند پارتیشن تقسیم میکنه و ... البته در این مثال نیازی به استفاده از این قابلیت نبود
عملگر * هم یعنی بعد از نشون دادن رتبه، کل مشخصات رکورد رو نشون بده