Trouble producing a query that groups a selection of groups
Wouldn't this work?

SELECT 
  sale_value AS "Sale Value", 
  EXTRACT(hour FROM sale_time) AS Hour,
  COUNT(sale_value) AS "Total Sales"
FROM t_sale
GROUP BY sale_value, EXTRACT(hour FROM sale_time)
HAVING sale_value IN ('HIGH', 'MED', 'LOW');