Olá Mairon, tudo bem?
Para incluir uma numeração sequencial (1, 2, 3...) no seu resultado, a forma mais simples é utilizar a função ROW_NUMBER():
SELECT
ROW_NUMBER() OVER (ORDER BY COUNT(iv.produto_id) DESC) AS Numero,
f.nome AS Nome_Fornecedor,
COUNT(iv.produto_id) AS QTD_Vendas
FROM itens_venda iv
JOIN produtos p ON p.id_produto = iv.produto_id
JOIN fornecedores f ON f.id_fornecedor = p.fornecedor_id
GROUP BY Nome_Fornecedor
ORDER BY QTD_Vendas DESC;
ROW_NUMBER(): É a função que gera a contagem das linhas.OVER (ORDER BY ...): Esta parte é obrigatória. Ela diz ao banco de dados em qual ordem a numeração deve ser baseada. No exemplo acima, usei a mesma ordem das vendas (COUNT(...) DESC), assim o fornecedor que mais vendeu será o número 1.
Dica: Se você quiser que a numeração siga a ordem alfabética do nome, basta mudar para OVER (ORDER BY f.nome). A numeração da coluna "Numero" será independente da ordenação final do ORDER BY lá de baixo!
Espero ter ajudado.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!