﻿SELECT RANK() OVER (ORDER BY percentage DESC), * FROM (
SELECT site,
  ROUND(100.0 * SUM(CASE
    WHEN timestamp BETWEEN '2018-11-02 18:36:00' AND '2018-11-05 05:30:00'
      OR timestamp >= '2018-11-06 06:27:00' THEN 3 -- minutes
    ELSE 10 -- minutes
    END) /
        (SELECT SUM(CASE
    WHEN timestamp BETWEEN '2018-11-02 18:36:00' AND '2018-11-05 05:30:00'
      OR timestamp >= '2018-11-06 06:27:00' THEN 3 -- minutes
    ELSE 10 -- minutes
    END) FROM snapshots), 2)
    AS "percentage"
  -- COUNT(DISTINCT(question)) AS "questions"
  FROM snapshots
  GROUP BY site
) AS temp ORDER BY percentage DESC