Changes between Initial Version and Version 1 of AdvancedReports


Ignore:
Timestamp:
01/28/25 18:54:25 (2 days ago)
Author:
221028
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v1 v1  
     1= Напредни извештаи од базата (SQL и складирани процедури) =
     2
     3=== Извештај за студенти и бројот на експериментите кои ги направиле за една недела ===
     4{{{#!sql
     5SELECT
     6    u.user_name,
     7    u.user_surname,
     8    COUNT(e.experiment_id) AS experiment_count
     9FROM
     10    User u
     11JOIN
     12    Experiment e ON u.user_id = e.user_id
     13WHERE
     14    u.professor_username = 'profesor_username'  -- Тука треба да се замени со корисничкото име на професорот
     15    AND e.time_stamp >= NOW() - INTERVAL 1 WEEK  -- Филтер за експерименти студентите што ги направиле во последната недела
     16GROUP BY
     17    u.user_name, u.user_surname
     18ORDER BY
     19    experiment_count DESC;
     20
     21}}}
     22
     23=== Извештај за лабораториските инструменти и колку пати биле искористени ===
     24{{{#!sql
     25SELECT
     26    le.equipment_name,
     27    COUNT(ele.experiment_id) AS usage_count
     28FROM
     29    ExperimentLabEquipment ele
     30JOIN
     31    LabEquipment le ON ele.equipment_id = le.equipment_id
     32GROUP BY
     33    le.equipment_name
     34ORDER BY
     35    usage_count DESC;
     36}}}
     37
     38=== Извештај за студентите и експериментите кои ги извршиле  ===
     39{{{#!sql
     40SELECT
     41    u.user_name,
     42    u.user_surname,
     43    GROUP_CONCAT(e.result SEPARATOR ', ') AS results
     44FROM
     45    Users u
     46JOIN
     47    Experiment e ON u.user_id = e.user_id
     48WHERE
     49    u.professor_username = 'profesor_username'  -- Тука треба да се замени со корисничкото име
     50GROUP BY
     51    u.user_name, u.user_surname;
     52}}}
     53
     54=== Извештај за студентите од одреден професор кои го извршиле селектираниот експеримент ===
     55
     56{{{#!sql
     57SELECT
     58    u.user_name,
     59    u.user_surname
     60FROM
     61    Users u
     62JOIN
     63    Experiment e ON u.user_id = e.user_id
     64JOIN
     65    Reaction r ON e.reaction_id = r.reaction_id
     66WHERE
     67     u.professor_username = 'profesor_username'  -- Тука треба да се замени со корисничкото име
     68    AND r.product = 'H2O'  -- Тука треба да се замени со името на производот од реакцијата
     69ORDER BY
     70    u.user_surname ASC;
     71}}}
     72
     73=== Извештај за просечен број на лабораториски инструменти искористени за екпериментите ===
     74
     75{{{#!sql
     76SELECT
     77    AVG(ele_count) AS average_instruments_per_experiment
     78FROM (
     79    SELECT
     80        e.experiment_id,
     81        COUNT(lee.equipment_id) AS ele_count
     82    FROM
     83        Experiment e
     84    JOIN
     85        ExperimentLabEquipment lee ON e.experiment_id = lee.experiment_id
     86    GROUP BY
     87        e.experiment_id
     88) AS subquery;
     89}}}
     90