RANK

RANK

توضیحات

این تابع رنک مقدار در گروه خود را می‌دهد، این تابع بسیار شبیه به تابع DENSE_RANK است با این تفاوت که اگر سطرهای مشابه وجود داشته باشد این تابع به صورت مجزا به آن‌ها نگاه می‌کند.

دستور

تابع RANK به صورت زیر نوشته می‌شود‌:

۱ RANK( expr۱ [, expr۲, ... expr_n ] ) WITHIN GROUP ( ORDER BY expr۱ [, expr_۲, ... expr_n ] )

.


مثال

مثالی از خروجی تابع RANK و DENSE_RANK را مشاهده می‌کنیم:

۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸
۱۹
۲۰
۲۱
۲۲
۲۳
Select ROW_NUMBER() over (order by Salary) as RowNum, Salary,
RANK() over (order by Salary) as Rnk,
DENSE_RANK() over (order by Salary) as DenseRnk from (
Select ۱۰۰۰ as Salary union all
Select ۱۰۰۰ as Salary union all
Select ۱۰۰۰ as Salary union all
Select ۲۰۰۰ as Salary union all
Select ۳۰۰۰ as Salary union all
Select ۳۰۰۰ as Salary union all
Select ۸۰۰۰ as Salary union all
Select ۹۰۰۰ as Salary) A
----------------------------
RowNum  Salary  Rnk DenseRnk
----------------------------
۱       ۱۰۰۰    ۱   ۱
۲       ۱۰۰۰    ۱   ۱
۳       ۱۰۰۰    ۱   ۱
۴       ۲۰۰۰    ۴   ۲
۵       ۳۰۰۰    ۵   ۳
۶       ۳۰۰۰    ۵   ۳
۷       ۸۰۰۰    ۷   ۴
۸       ۹۰۰۰    ۸   ۵

نوشته‌های مشابه

  • Drop Foreign Keys

    توضیحات می‌توان کلید خارجی که قبلا ساخته و فعال شده است را نیز پاک کرد. دستور قابلیت set null را می‌توان با دستور create table یا Alter table فعال کرد: ۱ ۲ ALTER TABLE table_name DROP CONSTRAINT constraint_name; . مثال مثالی از پاک کردن کلید خارجی: ۱ ۲ ALTER TABLE products DROP CONSTRAINT fk_supplier;

  • HEXTOROW

    توضیحات این تابع یک عدد هگزادسیمال را به مقدار خام آن تبدیل می‌کند. دستور تابع HEXTOROW به صورت زیر نوشته می‌شود: ۱ HEXTORAW( char ) . مثال مثال‌هایی از خروجی تابع HEXTOROW را مشاهده می‌کنیم: ۱ ۲ ۳ ۴ ۵ HEXTORAW(\’۴۵D\’) Result: \’۰۴۵D\’  (as a raw value) HEXTORAW(\’۷E\’) Result: \’۷E\’    (as a raw value)

  • SINH

    توضیحات این تابع سینوس هزلولی عدد مورد نظر را بر می‌گرداند. دستور تابع SINH به صورت زیر نوشته می‌شود: ۱ SINH( n ) . مثال مثال‌هایی از خروجی تابع SINH را مشاهده می‌کنیم: ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ SINH(۳) Result: ۱۰.۰۱۷۸۷۴۹۲۷۴۰۹۹ SINH(۵.۲) Result: ۹۰.۶۳۳۳۶۲۶۵۵۳۶۵۲ SINH(-۵.۲) Result: -۹۰.۶۳۳۳۶۲۶۵۵۳۶۵۲

  • TRANSLATE

    توضیحات این تابع این مجموعه‌ای از کاراکترها را با مجموعه‌ای دیگر جایگزین می‌کند. دستور تابع TRANSLATE به صورت زیر نوشته می‌شود: ۱ TRANSLATE( string۱, string_to_replace, replacement_string ) . string۱: رشته مورد نظر. string_to_replace: رشته‌ای که درون STRING۱ به دنبال آن می‌گردیم. replacement_string: رشته‌ای که جایگزین می‌شود درون STRING۱. مثال مثالی از خروجی تابع TRANSLATE را مشاهده می‌کنیم: ۱…

  • BFILENAME

    توضیحات BFILE مکان فیزیکی برای دسترسی به یک LOB بدون نیاز به استفاده از دیتابیس است، این تابع مقدار نگه دارنده LOB را می‌دهد. دستور تابع  BFILNAME به صورت زیر نوشته می شود: ۱ BFILENAME( \’directory\’, \’filename\’ ) . directory: مسیر نگه دارنده LOB است. filename: نام فایل است. مثال مثالی از خروجی تابع BFILNAME را مشاهده…

  • CHARTOROWID

    توضیحات این تابع یک char، varchar۲، nvarchar یا nvarchar۲ را به rowid تبدیل می‌کند. دستور تابع CHARTOROWID به صورت زیر نوشته می‌شود: ۱ CHARTOROWID( value۱ ) مثال مثال‌هایی از خروجی تابع CHARTOROWID را مشاهده می‌کنیم: ۱۲ select * from supplierswhere rowid = CHARTOROWID(\’AAABoqAADAAAAwPAAA\’);