Estou tentando escrever uma consulta MySQL para fins gráficos. O gráfico é para uma única coluna, mas em horários diferentes do dia.
Eu tenho uma tabela que mede o estado de carga de uma bateria grande e quero produzir uma tabela para gráficos onde posso obter o SoC por volta das 2h e 7h
Este é um SELECT que estou usando para as 2h
SELECT luxpower.`Date_MySQL`,
luxpower.`soc`
FROM luxpower
WHERE luxpower.`Minutes_Since_Midnight` <= 120
GROUP BY luxpower.`Date_MySQL`
e este é o SELECT que estou suinf para as 7h
SELECT luxpower.`Date_MySQL`,
luxpower.`soc`
FROM luxpower
WHERE luxpower.`Minutes_Since_Midnight` <= 420
GROUP BY luxpower.`Date_MySQL`
O que eu gostaria é combinar em uma única consulta com soc como 2 alias diferentes, algo assim (que não funciona)
SELECT luxpower.`Date_MySQL`,
luxpower.`soc` as socama (FROM luxpower WHERE luxpower.`Minutes_Since_Midnight` <= 120 GROUP BY luxpower.`Date_MySQL`)
AND
SELECT luxpower.`Date_MySQL`,
luxpower.`soc` as socamb (FROM luxpower WHERE luxpower.`Minutes_Since_Midnight` <= 420 GROUP BY luxpower.`Date_MySQL`)
Eu sou um recorde para ser assim
Date_MySQL,socama ,socamab
2024-06-01,10,7
2024-06-02,15,17
2024-06-03,23,44
2024-06-04,10,32
Obrigado
Você pode conseguir isso tendo duas subconsultas e juntando-as.
A primeira consulta verifica onde Minutes_Since_Midnight é menor ou igual a 2h, enquanto a segunda verifica onde é menor ou igual a 7h.
Você pode ler mais aqui https://dev.mysql.com/doc/refman/8.4/en/all-subqueries.html