D'abord je suis un bille en SQL donc tapez pas trop fort.
J'utilise mysql 4.0
Je veux obtenir pour chaque numéro, le data qui à l'ordre minimum.
Je dois donc avoir 2 fois TUTU car ils sont de type 1, sont de 2 numéro
différents et ont un ordre 0 donc minimum.
Je doit forcement me planter quelque part...
select
*, min( ordre ) as o
from
test
where
type = '1'
group by numero having ordre = o
Me donne:
+------+------+--------+-------+
| TYPE | DATA | NUMERO | ORDRE |
+------+------+--------+-------+
| 1 | TUTU | 1 | 0 |
+------+------+--------+-------+
CREATE TABLE `test` (
`TYPE` char(1) NOT NULL default '1',
`DATA` varchar(100) NOT NULL default '',
`NUMERO` smallint(5) unsigned NOT NULL default '0',
`ORDRE` smallint(5) unsigned NOT NULL default '0'
) TYPE=MyISAM;
INSERT INTO `test` VALUES ('0', 'TOTO', 0, 0);
INSERT INTO `test` VALUES ('1', 'TATA', 0, 4);
INSERT INTO `test` VALUES ('1', 'TUTU', 0, 0);
INSERT INTO `test` VALUES ('1', 'TETE', 0, 5);
INSERT INTO `test` VALUES ('1', 'TUTU', 1, 0);
INSERT INTO `test` VALUES ('1', 'TYTY', 0, 1);