Page 1 sur 1

max et min même id

Posté : 05 févr. 2014, 16:30
par laul
Bonjour,

je viens vous demander de l'aide car j'ai le même id alors que ma requête change.

si je fais :
SELECT id, MIN(sonde_valeur) AS plup FROM domotic_sensor WHERE module_id = '500' AND valeur_temp LIKE '2014-02-03 08:%' GROUP BY sonde_unit
j'obtiens :
id / plup
20416 / 18.90
20417 / 44.70

si je fais
SELECT id, MAX(sonde_valeur) AS plop FROM domotic_sensor WHERE module_id = '500' AND valeur_temp LIKE '2014-02-03 08:%' GROUP BY sonde_unit
j'obtiens :
id / plup
20416 / 19.29
20417 / 46.80

je souhaites récupérer "simplement" les id des valeur max et min. Je ne comprends pas pourquoi j'ai ce soucis.

merci d'avance

Re: max et min même id

Posté : 05 févr. 2014, 23:20
par moogli
salut,

vire le group by, car lu tu groupe sur "sonde_unit" qui doit avoir deux valeurs distinctes dans la table.


@+

Re: max et min même id

Posté : 06 févr. 2014, 10:48
par laul
Salut et merci Mooogli,

j'ai le même problème
SELECT id, MAX(sonde_valeur) AS plop FROM domotic_sensor WHERE module_id = '500' AND valeur_temp LIKE '2014-02-03 08:%' 
j'obtiens
id / plup
20416 / 18.90
SELECT id, MIN(sonde_valeur) AS plop FROM domotic_sensor WHERE module_id = '500' AND valeur_temp LIKE '2014-02-03 08:%' 
id / plup
20416 / 19.29

Re: max et min même id

Posté : 06 févr. 2014, 19:06
par moogli
create table + donnée exemple stp ?
parce que la y a un truc qui m'échappe la (tes données ne sont pas cohérentes entres tes deux messages).

@+

Re: max et min même id

Posté : 11 févr. 2014, 15:12
par laul
--
-- Structure de la table `domotic_sensor`
--

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=50305 ;

--
-- Contenu de la table `domotic_sensor`
--

INSERT INTO `domotic_sensor` (`id`, `module_id`, `sonde_type`, `sonde_valeur`, `sonde_unit`, `valeur_temp`) VALUES
(49272, 200, 2, '40.00', 3, '2014-02-10 17:59:58'),
(49273, 200, 2, '17.00', 2, '2014-02-10 17:59:59'),
(49287, 200, 2, '17.00', 2, '2014-02-10 18:17:11');