DELIMITER $$
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `hedera`.`visit_listByBrowser`(vFrom DATE, vTo DATE)
BEGIN
/**
 * Lists visits grouped by browser.
 *
 * @param vFrom The from date
 * @param vTo The to date
 * @select The list of visits
 */
	SELECT browser,
			MIN(CAST(version AS DECIMAL(4, 1))) minVersion,
			MAX(CAST(version AS DECIMAL(4, 1))) maxVersion,
			MAX(c.stamp) lastVisit,
			COUNT(DISTINCT c.id) visits,
			SUM(a.firstAccessFk = c.id AND v.firstAgentFk = a.id) newVisits
		FROM visitUser e
			JOIN visitAccess c ON c.id = e.accessFk
			JOIN visitAgent a ON a.id = c.agentFk
			JOIN visit v ON v.id = a.visitFk
		WHERE c.stamp BETWEEN TIMESTAMP(vFrom,'00:00:00') AND TIMESTAMP(vTo,'23:59:59')
		GROUP BY browser ORDER BY visits DESC;
END$$
DELIMITER ;
