Compare commits

...

2 Commits

Author SHA1 Message Date
gg 8d12ba2049 Add more fun queries 2023-07-19 19:40:30 -07:00
gg d41ef65a7d Add a migration that creates the schedule_joined view
It makes it easier to query this data.
2023-07-19 19:40:03 -07:00
2 changed files with 29 additions and 1 deletions

8
sql/01.views.sql Normal file
View File

@ -0,0 +1,8 @@
-- Create a view that's easier to query
CREATE VIEW schedule_joined AS
SELECT seg.n AS title,
c.n AS caster,
s.jst AS jst
FROM schedule s
JOIN segment seg ON seg.id = s.segment_id
LEFT JOIN caster c ON c.id = s.caster_id;

View File

@ -19,7 +19,27 @@ SELECT seg.n AS title,
JOIN segment seg ON seg.id = s.segment_id
JOIN caster c ON c.id = s.caster_id
WHERE c.n = "&caster"
ORDER BY n;
GROUP BY title
ORDER BY n DESC;
-- segment distribution for caster using prejoined view
SELECT title,
COUNT(title) AS appearances
FROM schedule_joined
WHERE caster = "&caster"
GROUP BY title
ORDER BY n DESC;
-- appearances by caster
SELECT caster,
COUNT(caster) AS appearances
FROM schedule_joined
WHERE caster IS NOT NULL
GROUP BY caster
ORDER BY appearances DESC, caster ASC;
-- list of all known casters
SELECT * FROM caster;
-- list of all segments
SELECT * FROM segment;