CREATE OR REPLACE VIEW month_genres AS
SELECT
  ol.genre_name,
  ol.genre_url,
  COUNT(*) AS plays,
  json_build_object('alt', ol.genre_name, 'subtext', CONCAT(COUNT(*), ' plays')) AS grid
FROM
  optimized_listens ol
WHERE
  TO_TIMESTAMP(ol.listened_at) >= NOW() - INTERVAL '30 days'
GROUP BY
  ol.genre_name,
  ol.genre_url
ORDER BY
  plays DESC;

