Sobes.tech
Middle

Функсияҳои тирезаро дар SQL барои чӣ истифода мебаранд?

sobes.tech AI

Ҷавоб аз AI

Функсияҳои тирезаи SQL маълумотро дар маҷмӯи хатҳо, ки бо хатти ҳозира алоқаманданд, анҷом медиҳанд, аммо маҷмӯи натиҷаҳоро гурӯҳбандӣ намекунанд. Ин имкон медиҳад, ки ҳисобҳо, ба монанди ҷамъшавии кумулятивӣ, миёнаи ҳаракатӣ ё рейтинг, иҷро шаванд, дар ҳоле ки ҳамаи хатҳои дархости аслӣ нигоҳ дошта мешаванд.

Мақсадҳои асосии истифодаи функсияҳои тиреза:

  • Ранжировка: Таъин кардани ранг ба ҳар як хат дар тирезаи муайян.
    -- Гирифтани ранг аз ҷониби музди корӣ дар дохили ҳар як шӯъба
    SELECT
        employee_name,
        salary,
        department,
        RANK() OVER (PARTITION BY department ORDER BY salary DESC) as department_rank
    FROM
        employees;
    
  • Ҳисоб кардани оморҳо барои гурӯҳи хатҳо бе гурӯҳбандӣ: Аггрегатсия кардани маълумот дар дохили "тиреза" аз хатҳо, бо нигоҳ доштани тафсилот дар сатҳи хат.
    -- Ҳисоб кардани миёнаи музди кор барои тамоми шӯъба барои ҳар як хат
    SELECT
        employee_name,
        salary,
        department,
        AVG(salary) OVER (PARTITION BY department) as avg_department_salary
    FROM
        employees;
    
  • Муқоиса кардани хатти ҳозира бо дигар хатҳо дар тиреза: Дастрасӣ ба маълумот аз хатҳои қаблӣ ё баъдӣ дар тиреза.
    -- Гирифтани музди кории корманди қаблӣ дар шӯъба дар тартиби коҳишёбанда
    SELECT
        employee_name,
        salary,
        department,
        LAG(salary, 1, 0) OVER (PARTITION BY department ORDER BY salary DESC) as previous_salary
    FROM
        employees;
    
  • Ҳисобҳо бо ҷамъшавии кумулятивӣ: Ҳисоб кардани ҷамъҳо, миёнаҳо ва дигар агрегатҳо дар тартиби афзоишёбанда.
    -- Ҳисоб кардани ҷамъшавии кумулятивии фурӯшҳо дар асоси сана
    SELECT
        sale_date,
        amount,
        SUM(amount) OVER (ORDER BY sale_date) as cumulative_sales
    FROM
        sales;
    

Баръакс аз функсияҳои оддӣ (GROUP BY), функсияҳои тиреза хатҳоро ҷамъ намекунанд, ки онҳоро ба воситаи қувватнок барои саволҳои таҳлилӣ ва таҳлили муфассалтар аз маълумотҳо табдил медиҳад.