ExcelStore

Расширенные возможности SQL - Команд SQL в рамках урока #11

May 9th, 2021 (edited)
5,469
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.31 KB | None | 0 0
  1. -- Оконные функции в SQL (Ранжирующие функции)
  2. -- https://youtu.be/lCbAl-pWveQ
  3.  
  4. -------------------------------------------
  5. -- Расширенные возможности SQL. Примеры команд SQL в рамках урока #11.
  6.  
  7.  
  8. SELECT
  9.   название_функции(СТОЛБЕЦ_ДЛЯ_ВЫЧИСЛЕНИЙ)
  10.   OVER (partition BY СТОЛБЕЦ_ДЛЯ_ГРУППИРОВКИ ORDER BY СТОЛБЕЦ_ДЛЯ_СОРТИРОВКИ)
  11. FROM
  12.   ...
  13. ;
  14.  
  15.  
  16. SELECT
  17.   FIRST_NAME, LAST_NAME, JOB_ID, SALARY,
  18.   ROW_NUMBER() OVER (PARTITION BY JOB_ID ORDER BY SALARY) AS ORDER_SALARY
  19. FROM employees
  20. ;
  21.  
  22.  
  23. SELECT
  24.   FIRST_NAME, LAST_NAME, JOB_ID, SALARY,
  25.   ROW_NUMBER() OVER (PARTITION BY JOB_ID ORDER BY SALARY DESC) AS ORDER_SALARY
  26. FROM employees
  27. ;
  28.  
  29.  
  30. SELECT
  31.   FIRST_NAME, LAST_NAME, JOB_ID, SALARY,
  32.   ROW_NUMBER() OVER (PARTITION BY JOB_ID ORDER BY SALARY) AS FN_ROW_NUMBER,
  33.   RANK() OVER (PARTITION BY JOB_ID ORDER BY SALARY) AS FN_RANK,
  34.   DENSE_RANK() OVER (PARTITION BY JOB_ID ORDER BY SALARY) AS FN_DENSE_RANK
  35. FROM employees
  36. ;
  37.  
  38.  
  39. SELECT
  40.   FIRST_NAME, LAST_NAME, JOB_ID, SALARY,
  41.   NTILE(10) OVER (PARTITION BY JOB_ID ORDER BY SALARY) AS FN_NTILE
  42. FROM
  43.   (
  44.     SELECT * FROM employees
  45.     WHERE SALARY BETWEEN 6000 AND 7300
  46.     AND JOB_ID = 'SA_REP'
  47.   )
  48. ;
  49.  
  50.  
Add Comment
Please, Sign In to add comment