FIRST_VALUE

FIRST_VALUE

توضیحات

این تابع مقدار اولین سطر بر اساس هر گروه را برمی‌گرداند.

دستور

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

۱
۲
۳
FIRST_VALUE (expression)
 [RESPECT NULLS | IGNORE NULLS]
 OVER ([query_partition_clause] [order_by_clause [windowing_clause]])

.
RESPECT NULLS | IGNORE NULLS: گزینه‌ای اختیاری است، مشخص می‌کند که آیا مقادیر null در نظر گرفته شوند یا نه.
query_partition_clause: گزینه‌ای اختیاری است، برای دسته‌بندی نتایج به گروه‌هایی بر اساس یک یا دو ویژگی به کار می‌رود.
order_by_clause: گزینه‌ای اختیاری است، که برای مرتب کردن داده‌ها در هر گروه بر اساس ویژگی به کار می‌رود.
windowing_clause: گزینه‌ای اختیاری است، تعیین کننده سطرها است برای اراده به تابع.


مثال

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

۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸
۱۹
۲۰
۲۱
۲۲
۲۳
۲۴
۲۵
۲۶
۲۷
۲۸
۲۹
۳۰
۳۱
۳۲
۳۳
EMPLOYEE_ID  LAST_NAME  FIRST_NAME  SALARY  DEPT_ID
-----------  ---------  ----------  ------  -------
       ۱۰۰۰  Jackson    Joe         ۲۰۰۰    ۱۰
       ۲۰۰۰  Smith      Jane        ۳۵۰۰    ۱۰
       ۳۰۰۰  Ferguson   Samantha    ۱۹۰۰    ۱۰
       ۴۰۰۰  Reynolds   Allen       ۴۰۰۰    ۲۰
       ۵۰۰۰  Anderson   Paige       ۳۲۵۰    ۲۰
       ۶۰۰۰  Johnson    Derek       ۲۷۵۰    ۲۰
       ۷۰۰۰  Nelson     Sarah       ۵۰۰۰    ۳۰
       ۸۰۰۰  Burke      Russell     ۱۵۰۰    ۳۰
SELECT DISTINCT FIRST_VALUE(salary)
 OVER (ORDER BY salary DESC
       RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
       AS \"HIGHEST\"
FROM employees;
HIGHEST
-------
   ۵۰۰۰
SELECT DISTINCT dept_id, FIRST_VALUE(salary)
 OVER (PARTITION BY dept_id ORDER BY salary DESC
       RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
       AS \"HIGHEST\"
FROM employees
WHERE dept_id in (۱۰,۲۰)
ORDER BY dept_id;
DEPT_ID  HIGHEST
-------  -------
     ۱۰     ۳۵۰۰
     ۲۰     ۴۰۰۰

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

  • LPAD

    توضیحات این تابع رشته مورد نظر را به سمت چپ تعداد مشخصی کاراکتر متصل می‌کند. دستور تابع LPAD به صورت زیر نوشته می‌شود: ۱ LPAD( string۱, padded_length [, pad_string] ) . String۱: رشته‌ای که می‌خواهیم به سمت چپ متصل شود. padded_length: طول رشته‌ای که می‌خواهیم در قسمت خروجی داشته باشیم. pad_string: گزینه‌ای اختیاری است، کاراکتری که رشته مورد…

  • GREATEST

    توضیحات این تابع بزرگ‌ترین مقدار در لیست مورد نظر را بر می‌گرداند. دستور تابع GREATEST به صورت زیر نوشته می‌شود: ۱ GREATEST( expr۱ [, expr۲, … expr_n] ) . مثال مثال‌هایی از خروجی تابع GREATEST را مشاهده می‌کنیم: ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ GREATEST(۲, ۵, ۱۲, ۳) Result: ۱۲…

  • ASCII

    توضیحات این تابع عدد ASCII کاراکتر را برمی‌گرداند. دستور تابع ASCII به صورت زیر نوشته می‌شود: ۱ ASCII( single_character ) single_character: کاراکتری که کد ASCII آن را می‌خواهیم است. مثال مثالی از خروجی تابع ASCII را مشاهده می‌کنیم: ۱ ۲ ASCII(\’t\’) Result: ۱۱۶

  • Named Programmer-Defined Exception

    توضیحات گاهی نیاز است که برنامه‌نویس خود exception را تعریف کند که در پکیج استاندارد وجود ندارد. دستور در ادامه استفاده از name programmer-defined exception را در تابع و پروسیجر بررسی می‌کنیم: ۱۲۳۴۵۶۷۸۹۱۰۱۱۱۲۱۳۱۴۱۵۱۶۱۷۱۸۱۹۲۰۲۱۲۲۲۳۲۴۲۵۲۶۲۷۲۸۲۹۳۰۳۱۳۲۳۳۳۴۳۵۳۶۳۷۳۸۳۹۴۰۴۱ CREATE [OR REPLACE] PROCEDURE procedure_name   [ (parameter [,parameter]) ]IS   [declaration_section]    exception_name EXCEPTION; BEGIN   executable_section   RAISE exception_name; EXCEPTION   WHEN exception_name THEN      [statements]    WHEN OTHERS THEN      [statements] END [procedure_name];CREATE [OR REPLACE] FUNCTION function_name   [ (parameter [,parameter]) ]   RETURN…

  • TO_NCLOB

    توضیحات این تابع برای تبدیل LOB به NCLOB به کار می‌رود. دستور تابع  TO_NCLOB به صورت زیر نوشته می‌شود: ۱ TO_NCLOB( expression ) . مثال مثال‌های عددی از خروجی تابع TO_NCLOB را مشاهده می‌کنیم: ۱ ۲ select TO_NCLOB(lob_column) from suppliers;

  • ASCIISTR

    توضیحات این تابع عدد هر رشته‌ای را به کد ASCII خودش تبدیل می‌کند. دستور تابع ASCIISTR به صورت زیر نوشته می‌شود: ۱ ASCIISTR( string ) string: رشته‌ای که کد ASCII آن را می‌خواهیم است. مثال مثالی از خروجی تابع ASCIISTR را مشاهده می‌کنیم: ۱ ۲ ASCIISTR(\’A B C Ä Ê\’) Result: \’A B C �۰C۴ �۰CA\’