C'est pas parfait mais c'est déjà mieux : tu devrais toujours expliquer ton but, et pas arriver avec un début de solution bancale. En sachantp ourquoi tu veux faire ça, on peut t'aider à trouver la meilleure solution
Parceque là on voit que ce que tu veux c'est compter plusieurs fois la même ligne, donc avoir une quantité quelque part. On ne sélectionne pas plusieurs fois une ligne dans un select. De même, ton order peut être conservé quelque part.
Donc tu devrais vraiment nous expliquer le contexte de ton appli, mais déjà là on pourrait voir un tableau de clé par exemple, à la fin tu connais le nombre de fois où est présente chaque clé, donc la quantité, et ton ordre si tu le veux. Si c'est un panier, tu peux stocker la clé étrangère vers ton produit, son ordre d'affichage et sa quantité.
1. Passage du code barre
2. Stockage code barre produit dans un tableau : clé = code barre, valeur = quantité. Si déjà présent, valeur incrémentée, sinon valeur initialisée.
3. Retour au 1. etc
4. Stockage du panier avec les codes barres stocké et leur quantité, calcul du prix etc.
Mais ton SELECT bizarre avec 2 fois la condition "id = 5" pour sélectionner deux fois la même ligne, tu peux oublier ça n'a pas de sens. D'ailleurs tu le sais bien, tu sais quand même que derrière le WHERE ce sont des conditions de filtrage... rien de plus. L'ordre non naturel et la quantité sont des informations, elles doivent correspondre à quelque chose dans ta base.