[vz-users] Manuelles Löschen eines Wertes aus der DB

USER VZ vz-user at thhoe.de
Fr Feb 28 11:06:38 CET 2020


Hallo,
in der Datenbank stehen die Werte die du erfasst. Wenn du den Zählerstand abfragst dann steht der auch in der DB.  Versuche doch bitte alle Datensätze aus der Zeit des Crashs zu ermitteln. 
zb:
select * from data where channel_id=1 and timestamp>“kurz vor dem crash“ and timestamp<„kurz nach dem peak“

timestamp ist dabei unixtime in Microsekunden. 

Thomas 


Am 28.02.2020 um 10:32 schrieb John Doe <johndoe at null.net>:


Hey Jakob,
 sorry für die späte Rückmeldung.
Ein
 select * from data where channel_id = 1 order by value desc limit 1;
 bringt bei mir leider keinen (sinnvollen) Output;
 Database changed
MariaDB [volkszaehler]> SELECT * from data where channel_id = 1 order by value desc limit 1;
+----------+------------+---------------+----------+
| id       | channel_id | timestamp     | value    |
+----------+------------+---------------+----------+
| 21111815 |          1 | 1582879317183 | 42256.52 |
+----------+------------+---------------+----------+
1 row in set (11 min 23.290 sec)
 Mir scheint der value eher den Zählerstand anzugeben, allerdings wollte ich ja den akkumulierten Verbrauch, der aufgrund des DB-Crashs nicht stimmen kann, ändern, z.B. einen Eintrag mit ca. 5 MW(h).
Benutze ich vielleicht die falsche DB und/oder das falsche Feld ?
Grüße
 JD.
  Sent: Wednesday, February 19, 2020 at 4:58 PM
From: "Jakob Hirsch" <jh at plonk.de>
To: "volkszaehler.org - users" <volkszaehler-users at demo.volkszaehler.org>
Subject: Re: [vz-users] Manuelles Löschen eines Wertes aus der DB
Hi!

On 2020-02-19 11:45, John Doe wrote:
> Aber mit meinem Denkansatz
> SELECT MAX(value) FROM data WHERE channel_id = 1;
>  
> komme ich irgendwie nicht weiter, da so ja nur der Maximalwert, nicht
> aber die zugehörige ID. die ich löschen möchte, ausgegeben wird.

select * from data where channel_id = 33 order by value desc limit 1;

Aber wenn du den wert schon kennst, kannst du den auch direkt löschen
(vorher anschauen):

select * from data where channel_id = 33 order by value desc limit 1;

und wenn es passt:

delete from data where channel_id=1 and value = 12345.6;



Gruß
J
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20200228/d159ca87/attachment.html>


More information about the volkszaehler-users mailing list