Bonjour,
depuis le début de la semaine je lutte avec une requête, je voudrais avoir les derniers enregistrements de la table grouper, voici la table :
j'ai trouvé une requete qui fonctionne mais sature le server mysql en s'exécutant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE IF NOT EXISTS `domotic_sensor` ( `id` int(11) NOT NULL AUTO_INCREMENT, `module_id` int(11) NOT NULL, `sonde_type` int(10) NOT NULL, `sonde_valeur` decimal(10,2) NOT NULL, `sonde_unit` int(11) NOT NULL, `valeur_temp` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3132
Affichage des lignes 0 - 13 ( 14 total, Traitement en 171.7634 sec)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT s.id, s.sonde_valeur, s.sonde_unit, s.sonde_type, s.module_id, s.valeur_temp AS date, m.module_nom, m.module_type, m.module_ref, m.module_emplacement , u.symbole, u.nom, u.nom_lien, t.type_id, t.nom AS nom_sensor FROM domotic_sensor AS s LEFT JOIN domotic_sensor_module AS m ON s.module_id = m.module_ref LEFT JOIN sensor_unit AS u ON s.sonde_unit = u.unit_id LEFT JOIN sensor_type AS t ON s.sonde_type = t.type_id WHERE s.valeur_temp in (select max(valeur_temp) from domotic_sensor GROUP BY module_id, sonde_unit, sonde_type) AND TO_DAYS(NOW()) - TO_DAYS(s.valeur_temp) < '1'
lorsque je fais une requete simple genre
je n'ai pas les derniers enregistrements, il m'affiche les première ligne de la table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT s . * , MAX( valeur_temp ) FROM domotic_sensor AS s GROUP BY module_id, sonde_unit, sonde_type LIMIT 0 , 30
merci de votre aide ::
Partager