Je veux trier par une colonne d'ints ascendant, mais je veux que 0 arrive en dernier. Y a-t-il un moyen de le faire dans MySQL?Avec MySql, est-ce que je peux trier une colonne mais est-ce que 0 vient en dernier?
30
A
Répondre
76
Vous pouvez essayer ce qui suit:
SELECT * FROM your_table ORDER BY your_field = 0, your_field;
Cas de test:
CREATE TABLE list (a int);
INSERT INTO list VALUES (0);
INSERT INTO list VALUES (0);
INSERT INTO list VALUES (0);
INSERT INTO list VALUES (1);
INSERT INTO list VALUES (2);
INSERT INTO list VALUES (3);
INSERT INTO list VALUES (4);
INSERT INTO list VALUES (5);
Résultat:
SELECT * FROM list ORDER BY a = 0, a;
+------+
| a |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 0 |
| 0 |
| 0 |
+------+
8 rows in set (0.00 sec)
0
La requête suivante devrait faire l'affaire.
(SELECT * FROM table WHERE num!=0 ORDER BY num) UNION (SELECT * FROM table WHERE num=0)
1
Vous pouvez effectuer les opérations suivantes:
SELECT value, IF (value = 0, NULL, value) as sort_order
FROM table
ORDER BY sort_order DESC
Les valeurs nulles seront vers le bas de la liste.
Questions connexes
- 1. Une erreur PHP MySQL que je ne peux pas résoudre
- 2. MySQL ORDER BY, utilisez la colonne mod_time, mais si mod_time est 0, utilisez la colonne create_time
- 3. Que signifie "= 0" en C++?
- 4. Que puis-je faire en utilisant awk que je ne peux pas faire en Perl?
- 5. phpadmin mysql changer 0 à 1 dans une colonne
- 6. Comment est-ce que je peux boucler avec le tableau?
- 7. C# - Je sais que je peux le faire dans LINQ, mais je ne peux pas le faire fonctionner
- 8. comment est-ce que je peux rendre une colonne insensible à l'aide de la grille du toolkit dojo?
- 9. Je ne peux pas supprimer un dossier que je viens d'extraire d'un fichier zip en python
- 10. Mapper la colonne null en tant que 0 dans une base de données héritée (JPA)
- 11. Comment est-ce que je peux vectoriser une fonction en numpy avec plusieurs arguments?
- 12. Est-ce que je peux rendre ce compte MySQL avec COUNTs plus efficace?
- 13. Comment je peux utiliser mysql en C++?
- 14. Qu'est-ce que '\ 0' en C++?
- 15. Que puis-je utiliser MySQL?
- 16. Comment puis-je trier une table par une colonne dans une autre dans MySQL?
- 17. Code asp.net en ligne, liste d'événements que je peux remplacer
- 18. Que signifie "lignes [0]"?
- 19. Y at-il de toute façon que je peux convertir une carte en un POJO que je peux ensuite utiliser en JSP EL?
- 20. MySQL ne retournera que le dernier enregistrement date/heure
- 21. Comment puis-je obtenir une chaîne dans un format que je peux utiliser avec UIWebView loadRequest?
- 22. Comment est-ce que je peux rendre à un cubemap?
- 23. Comment est-ce que je peux tester une servlet avec une requête qui ne contient que du contenu xml?
- 24. Un bug particulier que je ne peux pas sembler trouver
- 25. Comment puis-je implémenter un OutputStream que je peux rembobiner?
- 26. qu'est-ce que (__ASSERT_VOID_CAST (0))?
- 27. Comment puis-je définir la valeur par défaut pour une colonne en tant que GUID?
- 28. Sur Postback, comment obtenir la colonne que je trier par mon GridView?
- 29. Android; Je n'ai que 2 contacts, mais je peux en obtenir 5 à partir d'une requête, pourquoi?
- 30. Comment puis-je remplacer {0} mais pas {{0}}?
Parfait, si simple! –
pouvez-vous mettre n'importe quelle condition booléenne avec le ORDER BY? – SRKX
@JSmaga: Vous pouvez utiliser n'importe quelle expression. Voir le 'ORDER BY' [syntaxe ici] (http://dev.mysql.com/doc/refman/5.1/en/select.html):' [ORDER BY {col_name | expr | position} ' –