Comment afficher le numéro séquentiel dans le résultat d'une requête MySQL
J'ai une simple requête:
SELECT foo, bar FROM table
je pense que vous avez maintenant, quel est le résultat ressemble.
Ce que je veux faire, c'est de montrer une certaine numéro séquentiel, basé sur le nombre de données apparaissent à partir du résultat de la requête. c'est un peu comme AUTO_INCREMENT
(sa veut pas dire que je veux montrer une pièce d'identité).
Le résultat de ce que je veux, c'est comme:
|No| foo | bar |
-------------------------
|1 | bla | 123 |
|2 | boo | abc |
|3 | wow | xxx |
Comment dois-je faire pour le faire?
merci d'avance
source d'informationauteur nunu
Vous devez vous connecter pour publier un commentaire.
L'ordre devient brouillé si vous utilisez
GROUP BY
clause dans votre requête. Le contourner est de mettre votre requête à l'intérieur de laFROM
clause de ce genre.Ni des réponses a fonctionné pour moi, mais basé sur bungdito's sourcej'ai réalisé que vous pouvez faire quelque chose de plus facile:
Donc, assurez-vous d'abord
SET @a:=0;
s'exécute. Qui sera mis en place votre variable. Ensuite, vous pouvez incrémenter dans les résultats avec@a:=@a+1
. J'ai testé avec GROUP BY, ORDER BY, même REJOINT et elle a fonctionné comme prévu.Si quelqu'un veut afficher le numéro de ligne après la commande enregistrements, quelque chose comme cela peut fonctionner
set @a=0; select @a:=@a+1 serial_number,t.* from ( SELECT foo, bar DE tableORDER PAR bar ) t