SELECT
  u.id AS vereador_id,
  u.nome AS vereador_nome,
  u.partido,
  COUNT(p.id) AS total_pedidos,
  SUM(p.status='autorizada') AS autorizados,
  SUM(p.status='finalizada') AS finalizados,
  SUM(p.status='cancelada') AS cancelados,
  SUM(p.status='pendente') AS pendentes
FROM pedidos_fala p
JOIN usuarios u ON u.id = p.vereador_id
JOIN sessoes s ON s.id = p.sessao_id
WHERE s.data_sessao BETWEEN :data_ini AND :data_fim
GROUP BY u.id, u.nome, u.partido
ORDER BY total_pedidos DESC, vereador_nome ASC