Reviewed by Aditya Kumar Β· Last reviewed 2026-03-24
SELECT CASE WHEN age BETWEEN 0 AND 18 THEN '0-18' WHEN age BETWEEN 19 AND 35 THEN '19-35' WHEN age BETWEEN 36 AND 50 THEN '36-50' ELSE '51+' END AS age_group, COUNT(*) FROM people GROUP BY 1 ORDER BY 1. FLOOR(age/10)*10 for decades. Handle NULL; mutually exclusive buckets....
SELECT CASE WHEN age BETWEEN 0 AND 18 THEN '0-18' WHEN age BETWEEN 19 AND 35 THEN '19-35' WHEN age BETWEEN 36 AND 50 THEN '36-50' ELSE '51+' END AS age_group, COUNT() FROM people GROUP BY 1 ORDER BY 1. FLOOR(age/10)10 for decades. Handle NULL; mutually exclusive buckets. SCALABILITY: Index on age if filtered; materialize if frequent.
Red Flag: Overlapping buckets or missing NULL. Pro-Move: 'We use a config-driven bucket table; COALESCE for nulls; buckets in a separate dimension for flexibility.'
According to DataEngPrep.tech, this is one of the most frequently asked General/Other interview questions, reported at 1 company. DataEngPrep.tech maintains an editor-reviewed database of 1,863 data engineering interview questions across 7 categories.