Foto de Fernando C.
Fernando há 1 ano
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

Professor Michell O.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
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
Envie uma dúvida grátis
Resposta na hora da Minerva IA e de professores particulares
Enviar dúvida
Professor Gabriel L.
Identidade verificada
  • CPF verificado
  • E-mail verificado
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.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
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á 11 meses
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
Precisa de outra solução? Conheça
Aulas particulares Encontre um professor para combinar e agendar aulas particulares Buscar professor