Obtenir un minimum avec informations liées

Mammouth du PHP | 693 Messages

22 déc. 2009, 21:16

Structure de la table
CREATE TABLE IF NOT EXISTS `interv` (
  `id` int(16) NOT NULL AUTO_INCREMENT,
  `date` date NOT NULL,
  `salle` varchar(32) NOT NULL,
  `HAUS` time DEFAULT NULL,
  `HEB` time DEFAULT NULL,
  `HES` time DEFAULT NULL,
  `HIN` time DEFAULT NULL,
  `HIC` time DEFAULT NULL,
  `HFI` time DEFAULT NULL,
  `HSS` time DEFAULT NULL,
  `HESSPI` time DEFAULT NULL,
  `HSSSPI` time DEFAULT NULL,
  `PROG` varchar(32) DEFAULT NULL,
  `CHIRURGIEN` varchar(32) DEFAULT NULL,
  `ANES` varchar(32) DEFAULT NULL,
  `TYPE` varchar(32) DEFAULT NULL,
  `IBODE` int(16) DEFAULT NULL,
  `IADE` int(16) DEFAULT NULL,
  `raz` enum('court','moyen','long') DEFAULT 'moyen',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1
Bonjour,

J'aimerai, par jour et par salle, obtenir l'enregistrement qui correspond au plus petit HES. Lorsque je n'avais besoin que de HES, j'ai pu m'en sortir ainsi :
SELECT date,salle,MIN(HES) FROM interv GROUP BY date,salle
Cependant, j'ai besoin de connaitre la valeur de raz correspondant à l'enregistrement ou se trouve le HES minimum.

Petit exemple (désolé pour la présentation, j'arrive pas à faire de tableau...)

Date Salle HES raz
01/01/2009 1 12:00:00 moyen
01/01/2009 1 07:00:00 long
01/01/2009 1 18:00:00 court

J'aimerai obtenir, avec une methode marchant pour plusieurs jours et plusieurs salles
01/01/2009 1 07:00:00 long

ViPHP
ViPHP | 2291 Messages

27 déc. 2009, 12:45

Salut
Ceci ne fonctionne pas :?:
ORDER BY HES ASC 
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Mammouth du PHP | 693 Messages

29 déc. 2009, 12:52

Bonjour,

le problème, c'est que ORDER BY va renvoyer tous les enregistrements, classés. C'est sur qu'ensuite, je peux me débrouiller en PHP pour ne garder que le minimum. J'aimerai n'avoir que les minima. Et si on combine avec GROUP BY, GROUP BY est forcément avant ORDER BY, ce qui fait que les valeurs obtenus correspondent juste aux premières dans la base de donnée.