50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

PERCENT RANK() در sql server چیست و چه کاری انجام می دهد

با سلام و خسته نباشید خدمت شما

اگر زحمت نیست می توانید PERCENTRANK در sql server را توضیح دهید البته من با ranking function ها آشنا هستم این PERCENTRANK را نمی دانم چه کاری انجام می دهد

ممنون می شوم راهنمایی بکنید

با تشکر

پرسیده شده در 1396/05/25 توسط

7 پاسخ

3

در مثال زیر حقوق های کارمندان یک دپارتمان مورد مقایسه قرار میگیره و میزان درصد و ارزش حقوقی و جایگاه حقوقی افراد با این تابع لیست میشه

کوئیری

Code
USE AdventureWorks2012;  
GO  
SELECT Department, LastName, Rate,   
       CUME_DIST () OVER (PARTITION BY Department ORDER BY Rate) AS CumeDist,   
       PERCENT_RANK() OVER (PARTITION BY Department ORDER BY Rate ) AS PctRank  
FROM HumanResources.vEmployeeDepartmentHistory AS edh  
    INNER JOIN HumanResources.EmployeePayHistory AS e    
    ON e.BusinessEntityID = edh.BusinessEntityID  
WHERE Department IN (N'Information Services',N'Document Control')   
ORDER BY Department, Rate DESC;  

خروجی

Code
Department             LastName               Rate                  CumeDist               PctRank  
---------------------- ---------------------- --------------------- ---------------------- ----------------------  
Document Control       Arifin                 17.7885               1                      1  
Document Control       Norred                 16.8269               0.8                    0.5  
Document Control       Kharatishvili          16.8269               0.8                    0.5  
Document Control       Chai                   10.25                 0.4                    0  
Document Control       Berge                  10.25                 0.4                    0  
Information Services   Trenary                50.4808               1                      1  
Information Services   Conroy                 39.6635               0.9                    0.888888888888889  
Information Services   Ajenstat               38.4615               0.8                    0.666666666666667  
Information Services   Wilson                 38.4615               0.8                    0.666666666666667  
Information Services   Sharma                 32.4519               0.6                    0.444444444444444  
Information Services   Connelly               32.4519               0.6                    0.444444444444444  
Information Services   Berg                   27.4038               0.4                    0  
Information Services   Meyyappan              27.4038               0.4                    0  
Information Services   Bacon                  27.4038               0.4                    0  
Information Services   Bueno                  27.4038               0.4                    0  
(15 row(s) affected)  
پاسخ در 1396/05/26 توسط
1

بله نسبت به بالا بودن میزان حقوق جایگاه طرف هم در PctRank بالا رفته

پاسخ در 1396/05/29 توسط
0

با سلام و خسته نباشید خدمت شما دوست عزیز

ممنونم از جواب شما ببخشید یک سئوالی داشتم :

جناب آقای مهندس در آخرین سئوالی که من در بالا از شما پرسیدم جواب شما مثبت بود اما به غیر از سئوالی که من از شما پرسیدم تابع PERCENTRANK دیگر چه استفاده هایی دارد چون خود شما می دانید که تابع PERCENTRANK بین عدد صفر تا یک را برای ما برگشت می زند چون در کوئری بالا می شود در فیلد rate در هر گروه مثلا بزرگترین عدد را بدست آورد و با تابع PERCENTRANK هم می شود کلا خواستم بدونم که بیشترین استفاده PERCENTRANK در چه قسمتهایی هست و در کجاها استفاده می شود اگر برای شما ممکن هست یک مثال دیگر هم بزنید ممنون می شوم.

پاسخ در 1396/05/30 توسط
0

با سلام و خسته نباشید خدمت شما دوست عزیز و گرامی

جناب آقای مهندس ممنونم از توجه شما

جناب آقای مهندس ببینید درست متوجه شدم در هر گروه مثلا در گروه Document Control بیشترین حقوق 17.7885 هست و در فیلد PctRank بیشترین عدد را گرفته است و در گروه Information Services بالاترین حقوق 50.4808 هست و مشخص هست که در فیلد PctRank بالاترین نمره را گرفته و برای حقوق های بعد هم در حقیقت عددها در فیلد PctRank کمتر می شود آیا من درست متوجه شدم؟

ممنونم مهندس عزیزم

پاسخ در 1396/05/28 توسط
1

در یک مجموعه ای از دیتاهای موجود در dataset میتونه ارزش و جایگاه دیتای موجود رو در بین دیتاهای دیگه نشون بده مثلا فرض کنید نمره های امتحانی دانشجو ها تو یه دیتاستی هستن میتونید جایگاه و ارزش نمره دانشجوی خاصی رو در مقایسه با دیگر نمره های موجود بدست بیارید

پاسخ در 1396/05/26 توسط
0

با سلام و خسته نباشید خدمت شما

جناب مهندس عزیزم می توانید این توضیحی که شما در بالا فرمودید با یک مثال انجام دهید و بیشتر بازش کنید

ممنون می شوم از شما

با تشکر

پاسخ در 1396/05/26 توسط

پاسخ شما