LAST_VALUE

LAST_VALUE

توضیحات

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

دستور

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

۱
۲
۳
LAST_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: گزینه‌ای اختیاری است.


مثال

مثالی از خروجی تابع LAST_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 LAST_VALUE(salary)
 OVER (ORDER BY salary ASC
       RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
       AS \"HIGHEST\"
FROM employees;
HIGHEST
-------
   ۵۰۰۰
SELECT DISTINCT dept_id, LAST_VALUE(salary)
 OVER (PARTITION BY dept_id ORDER BY salary ASC
       RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
       AS \"HIGHEST\"
FROM employees
WHERE dept_id in (۱۰,۲۰)
ORDER BY dept_id;
DEPT_ID  HIGHEST
-------  -------
     ۱۰     ۳۵۰۰
     ۲۰     ۴۰۰۰

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

  • NULLIF

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

  • Fetch a cursor

    توضیحات قدم بعدی برای استفاده از cursor، fetch کردن آن است. دستور دستور برای Fetch کردن cursor: ۱ FETCH cursor_name INTO variable_list; variable_list: لیست متغیرهایی که می‌خواهید مقادیر cursor را در آن ذخیره کنید. مثال مثال‌هایی از تعریف cursor با پارامتر و بدون پارامتر: ۱۲۳۴۵۶۷ CURSOR c۱IS   SELECT course_number   FROM courses_tbl   WHERE course_name = name_in; FETCH c۱ into cnumber;

  • Enable Foreign Key

    توضیحات ممکن است گاهی با کلید خارجی برخورد کنیم که غیر فعال است می‌توان آن را با دستور Alter Table فعال کرد. دستور دستوری که کلید خارجی را فعال می‌کند: ۱ ۲ ALTER TABLE table_name ENABLE CONSTRAINT constraint_name; همچنین می‌توان با دستور زیر کلید خارجی را غیر فعال کرد: ۱ ۲ ALTER TABLE table_name DISABLE…

  • COS

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

  • ATAN

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

  • SQLCODE & SQLERRM Function

    توضیحات تابع SQLCODE عدد exception که اخیرا بیشتر اتفاق افتاده است را برمی‌گرداند و SQLERRM پیام exception که اخیرا بیشتر اتفاق افتاده است را برمی‌گرداند. دستور با اجرای دستورات زیر عدد و پیام exception پرتکرار بر می‌گردد: ۱۲ SQLCODE;SQLERRM . مثال در مثال زیر کاربرد تابع SQLCODE را مشاهده می‌کنیم: ۱۲۳۴۵۶۷۸۹۱۰۱۱۱۲۱۳۱۴۱۵۱۶۱۷۱۸۱۹۲۰۲۱۲۲۲۳۲۴۲۵۲۶۲۷۲۸۲۹۳۰ EXCEPTION   WHEN exception_name۱ THEN      [statements]    WHEN exception_name۲…