Verschil tussen eerste en laatste row per dag

Status
Niet open voor verdere reacties.

gonzo31

Gebruiker
Lid geworden
11 jan 2007
Berichten
143
Hallo allen,

Ik loop al een tijdje mijn hoofd te breken over het volgende. Ik heb een tabel waar ik mijn elektra verbruik in opsla. Ik heb als test wat willekeurige waardes toegevoegd:
Code:
+----+---------------------+------------------+------------------+------------------+------------------+-----------------+-----------------+-----+
| id | time                | gebr_laag_tarief | gebr_hoog_tarief | leve_laag_tarief | leve_hoog_tarief | huidig_verbruik | huidig_levering | gas |
+----+---------------------+------------------+------------------+------------------+------------------+-----------------+-----------------+-----+
|  1 | 2015-12-22 17:46:33 |                0 |                0 |                0 |                0 |              20 |               0 |   0 |
|  2 | 2015-12-22 17:46:38 |                0 |                0 |                0 |                0 |              30 |               0 |   0 |
|  3 | 2015-12-22 17:46:42 |                0 |                0 |                0 |                0 |              40 |               0 |   0 |
|  4 | 2015-12-22 17:46:45 |                0 |                0 |                0 |                0 |              50 |               0 |   0 |
|  5 | 2015-12-22 17:46:52 |                0 |                0 |                0 |                0 |              60 |               0 |   0 |
|  6 | 2015-12-22 17:46:56 |                0 |                0 |                0 |                0 |              70 |               0 |   0 |
|  7 | 2015-12-22 17:47:00 |                0 |                0 |                0 |                0 |              80 |               0 |   0 |
|  8 | 2015-12-22 17:47:02 |                0 |                0 |                0 |                0 |              90 |               0 |   0 |
|  9 | 2015-12-22 17:47:06 |                0 |                0 |                0 |                0 |             100 |               0 |   0 |
| 10 | 2015-12-22 17:47:11 |                0 |                0 |                0 |                0 |              95 |               0 |   0 |
| 11 | 2015-12-22 17:47:19 |                0 |                0 |                0 |                0 |              85 |               0 |   0 |
| 12 | 2015-12-22 17:47:22 |                0 |                0 |                0 |                0 |              75 |               0 |   0 |
| 13 | 2015-12-22 17:47:24 |                0 |                0 |                0 |                0 |              65 |               0 |   0 |
| 14 | 2015-12-22 17:47:27 |                0 |                0 |                0 |                0 |              55 |               0 |   0 |
| 15 | 2015-12-26 18:08:50 |                0 |                0 |                0 |                0 |              35 |               0 |   0 |
| 16 | 2015-12-26 21:37:57 |               10 |               20 |                0 |                0 |               0 |               0 |   0 |
| 17 | 2015-12-26 21:38:06 |               20 |               40 |                0 |                0 |               0 |               0 |   0 |
| 18 | 2015-12-26 21:38:14 |               25 |               45 |                0 |                0 |               0 |               0 |   0 |
| 19 | 2015-12-26 21:38:22 |               30 |               50 |                0 |                0 |               0 |               0 |   0 |
| 20 | 2015-12-27 14:47:27 |               31 |               52 |                0 |                0 |              10 |               0 |   0 |
| 21 | 2015-12-27 14:47:40 |               36 |               53 |                0 |                0 |              15 |               0 |   0 |
| 22 | 2015-12-27 14:47:49 |               37 |               53 |                0 |                0 |               5 |               0 |   0 |
| 23 | 2015-12-27 14:48:00 |               37 |               54 |                0 |                0 |               6 |               0 |   0 |
| 24 | 2015-12-27 14:48:15 |               40 |               55 |                0 |                0 |              30 |               0 |   0 |
+----+---------------------+------------------+------------------+------------------+------------------+-----------------+-----------------+-----+

Nu wil ik per dag laten weergeven wat er gebruikt is. Dus op 26-12-2015 moet dit 30 zijn voor het laag_tarief en op 27-12-2015 moet dit 10 zijn voor het laag_tarief (40-30).

Ik had de volgende functie (gejat van internet):
PHP:
 SELECT Sub1.JustDate, (b.gebr_laag_tarief - a.gebr_laag_tarief) AS Verschil
    -> FROM (
    -> SELECT DATE_FORMAT(FROM_UNIXTIME(time), '%Y-%m-%d') AS JustDate, MIN(time) AS MinTimeStamp, MAX(time) AS MaxTimeStamp
    -> FROM meetwaarden
    -> GROUP BY JustDate) Sub1
    -> INNER JOIN meetwaarden a on Sub1.MinTimeStamp = a.time
    -> INNER JOIN meetwaarden b on Sub1.MaxTimeStamp = b.time
    -> ;
Maar dit gaf als resultaat:
Code:
+----------+----------+
| JustDate | Verschil |
+----------+----------+
| NULL     |       40 |
+----------+----------+
Dus deze telde wel, maar nam de waarde niet per dag. Logisch want dat staat er ook niet bij. Ik probeerde er zelf een GROUP BY DATE('time') bij te zetten maar dat werkte niet. Het is vast heel simpel maar ik zie even door de bomen het bos niet meer.

Het liefst zal ik de uitkomsten willen hebben zoals dit:
Code:
+----------+----------+
| JustDate | Verschil |
+----------+----------+
| 25       |        0 |
+----------+----------+
| 26       |       30 |
+----------+----------+
| 27       |       10 |
+----------+----------+

Later wil ik ook totalen per maand weergeven maar dit moet makkelijk aan te passen zijn als de dag-totalen maar werken.
Hopelijk kan iemand me op weg helpen! Dank!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan