J'essaie d'afficher une ligne, Total, qui fera la sum de la colonne Count. Le code suivant aura deux colonnes, Environment et Count.
select case when env is null THEN 'Unknown' else env end, count(*) as Count from env_table group by env order by env /
Sortie Je voudrais:
Windows 200
Linux 120
Total 320
Comme vous pouvez le voir ci-dessus, ce que je voudrais faire est d'append une ligne appelée "Total" à la fin qui ferait essentiellement une sum (count (*)). Quelle est la syntaxe appropriée pour le faire? Merci!
Utilisez le modificateur WITH ROLLUP
pour GROUP BY
:
SELECT IFNULL(env, 'Unknown'), COUNT(*) AS Count FROM env_table GROUP BY env WITH ROLLUP ORDER BY env
Peut-être quelque chose comme ça?
SELECT IFNULL(env, 'Unknown'), COUNT(*) AS Count FROM env_table GROUP BY env ORDER BY env UNION ALL SELECT null, Count(*) FROM env_table
SELECT env, count FROM (SELECT CASE WHEN env is null THEN 'Unknown' ELSE env END env, count(*) count FROM env_table GROUP BY env ORDER BY env) UNION ALL SELECT 'Total' env, count(*) count FROM env_table
SELECT COALESCE(env, 'Total') AS Description, COUNT(*) AS Count FROM env_table GROUP BY env WITH ROLLUP ORDER BY env