Difference between revisions of "SQL query examples"
Jump to navigation
Jump to search
Line 48: | Line 48: | ||
data_tpdocument | data_tpdocument | ||
== Corner cases == | == Corner cases and weird stuff == | ||
=== List of birthdays === | === List of birthdays === |
Revision as of 11:09, 9 May 2022
Subselect field
The following examples are intended for use in Subselect fields. Note refrences to the parent tables are prefixed with ":"
List of files
SELECT GROUP_CONCAT(FileName SEPARATOR '\n') FROM data_ticket_file WHERE IsDeleted = 0 AND DataID = :DataID
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 and weird stuff
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