Changes between Version 33 and Version 34 of AdvancedReports


Ignore:
Timestamp:
07/22/24 14:47:49 (2 months ago)
Author:
184006
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v33 v34  
    216216    number_of_users DESC;
    217217}}}
    218 == Kолку пари се трошат за платите на вработените во секој ветеринарен центар.
    219 {{{
    220    SELECT
    221     vc.name AS vet_center_name,
    222     SUM(CASE WHEN j.predictedSalery LIKE '%EUR%' THEN CAST(SUBSTRING(j.predictedSalery, 1, POSITION(' ' IN j.predictedSalery) - 1) AS DECIMAL) ELSE 0 END) AS total_salary_expense
    223 FROM
    224     project.vet_centers vc
    225 JOIN
    226     project.jobs j ON vc.id = j.vetCentersID
    227 LEFT JOIN
    228     project.users u ON vc.id = u.jobs_id
    229 GROUP BY
    230     vc.id, vet_center_name
    231 ORDER BY
    232    total_salary_expense DESC;
     218== За секој ветеринарен центар, колку пари одвојува за нови вработени и која е просечната плата по вработен која се нуди.
     219{{{
     220WITH SalaryData AS (
     221    SELECT
     222        v.id AS vet_center_id,
     223        v.name AS vet_center_name,
     224        j.predictedsalery AS salary
     225    FROM
     226        vet_centers v
     227    JOIN
     228        jobs j ON v.id = j.vetCentersID
     229),
     230SalaryAggregates AS (
     231    SELECT
     232        vet_center_id,
     233        vet_center_name,
     234        COUNT(salary) AS number_of_employees,
     235        SUM(CAST(REPLACE(salary, ' EUR', '') AS DECIMAL)) AS total_salary_expenses,
     236        AVG(CAST(REPLACE(salary, ' EUR', '') AS DECIMAL)) AS average_salary
     237    FROM
     238        SalaryData
     239    GROUP BY
     240        vet_center_id, vet_center_name
     241)
     242
     243SELECT
     244    sa.vet_center_name,
     245    sa.number_of_employees,
     246    sa.total_salary_expenses,
     247    sa.average_salary
     248FROM
     249    SalaryAggregates sa
     250ORDER BY
     251    sa.total_salary_expenses DESC;
    233252}}}
    234253== Прикажување на ветеринарни центри кои што корисникот може да ги посети доколку живее во Охрид.
     
    324343  avg_sales_quantity DESC;
    325344}}}
    326 == Прикажи го продуктот за кој постојат најмал број направени нарачки.
    327 {{{
    328 
    329 WITH product_orders_count AS (
    330     SELECT
    331         p.id AS product_id,
    332         p.name AS product_name,
    333         p.description AS product_description,
    334         p.price AS product_price,
    335         COALESCE(COUNT(o.id), 0) AS orders_count
    336     FROM
    337         project.products p
    338     LEFT JOIN
    339         project.product_are_made_orders pamo ON p.id = pamo.id_products
    340     LEFT JOIN
    341         project.orders o ON pamo.id_orders = o.id
    342     GROUP BY
    343         p.id, p.name, p.description, p.price
    344 )
    345 SELECT
    346     product_id,
    347     product_name,
    348     product_description,
    349     product_price,
    350     orders_count
    351 FROM
    352     product_orders_count
    353 WHERE
    354     orders_count = (
    355         SELECT MIN(orders_count)
    356         FROM product_orders_count
    357     );
    358 
    359 }}}