Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Duviva

SELECT id_colaborador, cargo, salario,
case
WHEN salario < 3000 then 'Baixo'
when salario BETWEEN 3000 and 6000 THEN 'Médio'
ELSE 'Alto'
end as categoria_salario
FROM HistoricoEmprego;

Minha dúvida seria como aplicaria a contagem dos salários baixo, médio e alto neste caso e essa nova coluna ela pode ser inserida diretamente no conjunto de dados ?

2 respostas
solução!

Oi Daniel, tudo bem?

Para contar o número de salários classificados como 'Baixo', 'Médio' e 'Alto', você pode usar a função COUNT em conjunto com a cláusula GROUP BY. Isso permitirá que você agrupe os dados por categoria de salário e conte quantos registros existem em cada categoria. Veja como você pode fazer isso:

SELECT 
    categoria_salario, 
    COUNT(*) as quantidade
FROM (
    SELECT 
        id_colaborador, 
        cargo, 
        salario,
        CASE
            WHEN salario < 3000 THEN 'Baixo'
            WHEN salario BETWEEN 3000 AND 6000 THEN 'Médio'
            ELSE 'Alto'
        END as categoria_salario
    FROM HistoricoEmprego
) as subquery
GROUP BY categoria_salario;

Neste exemplo, estamos utilizando uma subconsulta para primeiro classificar os salários e depois, na consulta externa, agrupamos por categoria_salario e contamos quantos registros existem em cada grupo.

Quanto à sua pergunta sobre inserir essa nova coluna diretamente no conjunto de dados, isso depende do que você quer dizer com "inserir". Se você quer apenas visualizar essa categorização, a consulta acima já resolve. Mas, se deseja armazenar permanentemente essa informação na tabela, você precisaria adicionar uma nova coluna à tabela e atualizar os registros com a categorização desejada. Isso é feito com um comando ALTER TABLE para adicionar a coluna e um UPDATE para preencher os valores.

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!

Ajudou sim ,está ótimo...