Requète SQL

トップ ページ

このメッセージに返信
著者: Frédéric
日付:  
To: guilde
題目: Requète SQL
Bonjour,

Petite question aux gurus SQL...

Mon installation domotique est basée sur le bus KNX. J'utilise le trio libre
eibd/linknx/knxweb2 pour la supervision, le tout tournant sur une carte ALIX.

linknx enregistre certains changements qui ont lieu sur le bus dans une table MYSQL. En
particulier les températures et mises en marche/arrêt du chauffage.

La table est organisée comme suit :

nom        type            default
-----------------------------------------
ts        timestamp         CURRENT_TIMESTAMP
object     varchar(256)     Aucun
value     varchar(256)     Aucun


Ce qui donne :

ts                        objet                        value
---------------------------------------------------------
2012-12-29 07:29:40     temp_salon_screen             20.47
2012-12-29 07:40:18     temp_sdb_rdc                 20.24
2012-12-29 07:51:16     temp_degagement_ouest         20.48
2012-12-29 08:00:00     heating_setpoint_sdb_rdc     21
2012-12-29 08:00:00     heating_setpoint_sejour     20
2012-12-29 08:00:30     heating_cmd_sdb_rdc         on
2012-12-29 08:02:10     temp_cuisine                 20.8
2012-12-29 08:08:15     temp_entree                 20.16
2012-12-29 08:09:38     temp_salon_screen             20.41
2012-12-29 08:10:06     temp_bureau_porte             20.4
2012-12-29 08:10:15     temp_sdb_rdc                 20.4
2012-12-29 08:15:15     temp_sdb_rdc                 20.48
2012-12-29 08:20:14     temp_sdb_rdc                 20.64
2012-12-29 08:25:14     temp_sdb_rdc                 20.8
2012-12-29 08:28:22     temp_cuisine_plan_travail     20.48
2012-12-29 08:30:13     temp_sdb_rdc                 20.88
2012-12-29 08:35:13     temp_sdb_rdc                 20.96
2012-12-29 08:39:15     temp_salon_ouest             20.48
2012-12-29 08:40:12     temp_sdb_rdc                 21.04
2012-12-29 08:45:12     temp_sdb_rdc                 21.2
2012-12-29 08:48:24     temp_cuisine_plan_travail     20.56
2012-12-29 08:48:55     heating_cmd_sdb_rdc         off
2012-12-29 08:49:15     temp_salon_ouest             20.56
2012-12-29 08:49:36     temp_salon_screen             20.47
2012-12-29 08:50:11     temp_sdb_rdc                 21.28


Ce que je voudrais, c'est récupérer le temps d'allumage des divers radiateurs, c'est à dire,
pour un objet donné (ici heating_cmd_sdb_rdc). Il faut pour ça récupérer le début ('on'), et la
fin ('off') de chaque allumage, et faire la somme. Je peux bien entendu faire ça avec une
boucle dans un langage quelconque, mais je pense que c'est faisable directement en SQL.

Si quelqu'un a une idée, je suis preneur.

Merci d'avance.

-- 
    Frédéric