Salut
Je vous fais part d'un phénomène qui me parais plutôt étrange sur une banale petite requête où le ORDER BY serait entre autre l'acteur principal.
La requête à l'origine : (c'est un système de ticket interne)
Cette requête retourne 2 pour "total", MySQL trouve donc 2 lignes.
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT COUNT(*) AS total FROM ticket t JOIN ticket_history th ON t.ticket_id = th.ticket_id JOIN ticket_status ts ON t.status_id = ts.status_id WHERE t.users_id = 100 AND th.publier = 1 AND t.status_id = 1 GROUP BY t.ticket_id ORDER BY t.date_created DESC LIMIT 1
Or, je sais qu'il y en a 3.
-> 1 ligne ticket_id pour le user_id 100 dans la table ticket
-> 3 lignes ticket_id dans la table ticket_history (3 réponses).
Je supprime dans la requête le ORDER BY (ORDER BY t.date_created DESC), et hop, cette fois MySQL trouve bien les 3 lignes.
Depuis quand un ORDER BY agirait sur le nombre de ligne à retourner ?
Personnellement je le trouve un peu fort l'café, même ici le ORDER BY n'était pas utile.
Selon vous, c'est normal ou pas ?
Une explication serait le bienvenu.![]()
Partager