ce serait d'avoir un n° de séquence en plus de ce que tu donnes comme information. Alors soit tu peux modifier la structure de ta table pour en attribuer un, soit tu peux passer par une table temporaire....
Sinon, je ne pense pas que ce soit possible.
J'ai fait un test sous postgreSQL, en ajoutant un champ séquentiel qui respecte l'ordre que tu donnes dans ton premier tableau ci-dessus, et ceci :
select * from toto t1 where ind not in (select ind from toto where num + 1 = t1.num) order by dat_ind;
Me retourne bien ce que tu veux.
Allez, pour la forme :
david=# select * from toto;
dat_ind | ind | num
--------------------------+-----------+-----
Thu 02 Jun 12:05:00 2005 | Pierre | 1
Thu 02 Jun 12:05:10 2005 | Pierre | 2
Thu 02 Jun 12:06:00 2005 | Paul | 3
Thu 02 Jun 12:10:00 2005 | Jacques | 4
Thu 02 Jun 12:11:30 2005 | Jacques | 5
Thu 02 Jun 12:20:00 2005 | Pierre | 6
Thu 02 Jun 12:30:00 2005 | Jacques | 7
(7 rows)
david=# select * from toto t1 where ind not in (select ind from toto where num + 1 = t1.num) order by dat_ind;
dat_ind | ind | num
--------------------------+-----------+-----
Thu 02 Jun 12:05:00 2005 | Pierre | 1
Thu 02 Jun 12:06:00 2005 | Paul | 3
Thu 02 Jun 12:10:00 2005 | Jacques | 4
Thu 02 Jun 12:20:00 2005 | Pierre | 6
Thu 02 Jun 12:30:00 2005 | Jacques | 7
(5 rows)
# Un des moyens,
Posté par Gyro Gearllose . En réponse au message [MySQL] un GROUP BY un peu spécial. Évalué à 3.