SQL query examples
Revision as of 08:15, 14 April 2020 by old>Admin (→Grouping)
Grouping
SELECT s.Status, COUNT(k.DataID) FROM data_kuglespil as k JOIN formstatus as s ON k.StatusID = s.StatusID GROUP BY 1;
SELECT l.`Value`, COUNT(k.DataID) FROM data_kuglespil as k JOIN formfieldlookup as l ON k.STRRELSE = l.LookupID GROUP BY 1 ORDER BY l.SortOrder;
Grouped variables
SELECT 'Under 5' as Text, COUNT(k.DataID) FROM data_kuglespil as k WHERE k.RESULTAT <= 5 UNION SELECT 'Middel (6-16)' as Text, COUNT(k.DataID) FROM data_kuglespil as k WHERE k.RESULTAT <= 5 AND k.RESULTAT < 17 UNION SELECT 'Top performer (17)' as Text, COUNT(k.DataID) FROM data_kuglespil as k WHERE k.RESULTAT = 17;
Population percentages
SELECT AVG(IF(StatusID=35,0,100)) as `% completed` FROM data_tpdocument
Corner cases
List of birthdays
SELECT NAVN as Navn, FDSELSDAG as Fødselsdag, ROUND(DATEDIFF(NOW(),FDSELSDAG) / 365 ) as Alder FROM data_medarbejder WHERE DATEDIFF( MAKEDATE(YEAR(NOW()),DAYOFYEAR(FDSELSDAG)), NOW() ) BETWEEN 0 AND 7