Foto de Fernando C.
Fernando há 2 anos
Enviada pelo
Site

Construir query slq

Boa tarde,

preciso fazer uma query SQL leve, que obtenha o maior numero das colunas 1 a 5 e retorne a respectiva data além do maior valor...

Tenho o seguinte banco de dados:

tabela:

data coluna1 coluna2 coluna3 coluna4 coluna5
2023-04-01 1 2 88 9 5
2023-03-02 20 11 85 1 55
2023-05-14 12 31 8 2 12
2023-01-04 14 54 4 45 46
2023-03-15 5 45 55 3 75

 

Retorno experado:

coluna1 = 2023-03-02 | 20
coluna2 = 2023-01-04 | 54
coluna3 = 2023-04-01 | 88
coluna4 = 2023-01-04 | 45
coluna5 = 2023-03-15 | 75

Bancos de dados SQL
4 respostas
Professor Michell O.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 2 anos
Contatar Michell Ailton Riciere

Opa Fernando tudo bem? 

Não acho que teremos muita dificuldades em encontrar uma solução para uma query otimizada e performática. Me chama no meu perfil que podemos fazer isso juntos. Abraços.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Tutoria com IA
Converse com a Minerva IA e aprenda, tire dúvidas e resolva exercícios
Professor Gabriel L.
Respondeu há 1 ano
Contatar Gabriel

SELECT data

, GREATEST(coluna1, coluna2, coluna3, coluna4, coluna5) AS maior_valor

FROM tabela

WHERE GREATEST(coluna1, coluna2, coluna3, coluna4, coluna5) = ( SELECT MAX(maior_valor)

FROM ( SELECT GREATEST(coluna1, coluna2, coluna3, coluna4, coluna5) AS maior_valor FROM tabela ) AS subquery );

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Heverton A.
Respondeu há 2 anos
Contatar Heverton

tanquilo fazer isso, so acionar-me

 

select (nome das colunas separado por virgula) order by (campo data)

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Professor Jhonni S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Contatar Jhonni

SELECT 
    'coluna1' AS coluna,
    data,
    GREATEST(coluna1, coluna2, coluna3, coluna4, coluna5) AS maior_valor
FROM tabela
ORDER BY maior_valor DESC
LIMIT 1

UNION

SELECT 
    'coluna2' AS coluna,
    data,
    GREATEST(coluna1, coluna2, coluna3, coluna4, coluna5) AS maior_valor
FROM tabela
ORDER BY maior_valor DESC
LIMIT 1

UNION

SELECT 
    'coluna3' AS coluna,
    data,
    GREATEST(coluna1, coluna2, coluna3, coluna4, coluna5) AS maior_valor
FROM tabela
ORDER BY maior_valor DESC
LIMIT 1

UNION

SELECT 
    'coluna4' AS coluna,
    data,
    GREATEST(coluna1, coluna2, coluna3, coluna4, coluna5) AS maior_valor
FROM tabela
ORDER BY maior_valor DESC
LIMIT 1

UNION

SELECT 
    'coluna5' AS coluna,
    data,
    GREATEST(coluna1, coluna2, coluna3, coluna4, coluna5) AS maior_valor
FROM tabela
ORDER BY maior_valor DESC
LIMIT 1;

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Prefere professores para aulas particulares ou resolução de atividades?
Aulas particulares
Encontre um professor para combinar e agendar aulas particulares Buscar professor
Tarefas
Envie sua atividade, anexe os arquivos e receba ofertas dos professores Enviar tarefa