Mysql
 sql >> Base de données >  >> RDS >> Mysql

trier par ne fonctionne pas correctement avec deux champs

Ceci est votre order by :

ORDER BY  transType = 'I',
          transDate

L'expression transType = 'I' est une expression booléenne. Lorsqu'il est interprété comme un entier, "0" est faux et "1" est vrai. Par conséquent, les fausses valeurs apparaissent en premier dans le tri, puis les vraies valeurs.

Vous voulez juste trier par ordre décroissant :

ORDER BY  (transType = 'I') DESC,
          transDate