Enviado em 07/12/2005 - 18:51h
Minha verssão do mysql aqui é a 5.0.15-log.
Tenho uma tabela com leitura que possui as leituras de um relogio de luz. Assim para calcular o consumo no mês x basta pegar a leitura do mes x e subtrair da leitura do mes x-1.
Bom na teoria e facil porem to apanhando pra fazer isso aqui. Até consegui fazer porém usando um complexo jogo de subqueries.
---------------
SELECT r.serial as relógio,
(SELECT l.leitura-
(SELECT l3.leitura FROM leitura l3 WHERE l3.idrelogio=r.idrelogio
AND l3.dia=(SELECT MAX(l3.dia) FROM leitura l3 WHERE l3.idrelogio=r.idrelogio AND l3.dia!=l.dia))
FROM leitura l
WHERE l.idrelogio=r.idrelogio
AND l.dia=(SELECT MAX(l2.dia) FROM leitura l2 WHERE l.idrelogio=r.idrelogio)
) as consumo
FROM relogio r
---------------
Deve haver uma maneira mais simples, vo ficar procurando aqui. Se alguém puder da uma luz.
Tenho uma tabela com leitura que possui as leituras de um relogio de luz. Assim para calcular o consumo no mês x basta pegar a leitura do mes x e subtrair da leitura do mes x-1.
Bom na teoria e facil porem to apanhando pra fazer isso aqui. Até consegui fazer porém usando um complexo jogo de subqueries.
---------------
SELECT r.serial as relógio,
(SELECT l.leitura-
(SELECT l3.leitura FROM leitura l3 WHERE l3.idrelogio=r.idrelogio
AND l3.dia=(SELECT MAX(l3.dia) FROM leitura l3 WHERE l3.idrelogio=r.idrelogio AND l3.dia!=l.dia))
FROM leitura l
WHERE l.idrelogio=r.idrelogio
AND l.dia=(SELECT MAX(l2.dia) FROM leitura l2 WHERE l.idrelogio=r.idrelogio)
) as consumo
FROM relogio r
---------------
Deve haver uma maneira mais simples, vo ficar procurando aqui. Se alguém puder da uma luz.