Files
trimape_app_api/db_backups/create_engineer_ratings_view.sql
T
2026-07-15 19:58:30 -06:00

17 lines
457 B
SQL

CREATE OR REPLACE VIEW engineer_ratings_view AS
SELECT
s.engineer_name,
s.id_user,
COUNT(DISTINCT s.id) AS total_surveys,
ROUND(AVG( (jt.answer / jt.levels) * 5 ), 2) AS average_rating
FROM surveys_answers s
JOIN JSON_TABLE(
s.snapshot_json,
'$[*]' COLUMNS (
answer DECIMAL(5,2) PATH '$.answer',
levels DECIMAL(5,2) PATH '$.levels'
)
) jt ON s.snapshot_json IS NOT NULL
WHERE s.id_user IS NOT NULL
GROUP BY s.id_user, s.engineer_name;