MYSQL : Position d'un enregistrement dans un recordset

WRInaute passionné
Je cale sur une requête MYSQL depuis pas mal de temps :(

J'ai une table matable avec les colonnes id,nom et catégorie.

Je veux connaitre la position de l’enregistrement ayant l'id xxx dans la categorie yyy ( SELECT id,nom from matable where categorie=yyyorder by id asc)

Merci
 
WRInaute passionné
bon, ja'i trouvé une solution à force de persévérance :mrgreen:

Code:
select id,result.pos from (SELECT id, (@i:=@i+1) as pos FROM (select @i:=0) as r, (select id from matable where categorie="yyy" order by id asc) as  v) as result where id=xxx

Si quelqu'un a plus simple :wink:
 
WRInaute occasionnel
Je ne suis pas certain d'avoir compris ce que tu cherches exactement mais j'aurais fait :

Code:
SELECT COUNT(id) FROM matable WHERE id<=xxx AND categorie=yyy GROUP BY categorie

Ce qui donne le nombre d'id de la catégorie yyy jusqu'à id = xxx et donc sa position dans la catégorie
 
WRInaute passionné
silef a dit:
Je ne suis pas certain d'avoir compris ce que tu cherches exactement mais j'aurais fait :

Code:
SELECT COUNT(id) FROM matable WHERE id<=xxx AND categorie=yyy GROUP BY categorie

Ce qui donne le nombre d'id de la catégorie yyy jusqu'à id = xxx et donc sa position dans la catégorie

Tu es un génie mec ! Je me suis cassé les c******s pour rien :wink:

Sauf que dans ton code le "group by" est inutile, le bonne requête est :

Code:
SELECT COUNT(id) FROM matable WHERE id<=xxx AND categorie=yyy order by id asc

merci
 
WRInaute occasionnel
Tu avais juste la tête dans le guidon ça t'as empêché de tourner le problème de manière simple.

Content de t'avoir aidé.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut