Não há como obter a saída esperada com uma única consulta (já que a estrutura do resultado é diferente). Você precisa usar duas consultas diferentes para obter as informações esperadas dos
users
tabela:1 - Você pode obter o
status
visão geral com o seguinte: SELECT
SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END) AS active_users,
SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) AS inactive_users,
SUM(CASE WHEN status = 2 THEN 1 ELSE 0 END) AS banned_users
FROM users
2 - Para obter todos os usuários com
status = 0
(ativo) você pode usar o seguinte: SELECT *
FROM users
WHERE status = 0
demonstração em dbfiddle.uk