Maison > base de données > tutoriel mysql > Introduction détaillée de MySQL pour implémenter le tri de liste personnalisé par champs spécifiés

Introduction détaillée de MySQL pour implémenter le tri de liste personnalisé par champs spécifiés

黄舟
Libérer: 2017-03-25 13:37:18
original
2051 Les gens l'ont consulté

L'éditeur suivant vous apportera un article MySQL implémentation du tri de liste personnalisé par champs spécifiés. L'éditeur pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour y jeter un œil

Description du problème

Comme nous le savons tous, le SQL pour trier un certain champ par ordre croissant dans MySQL est (avec l'identifiant comme exemple, le même ci-dessous) :

SELECT * FROM `MyTable` 
WHERE `id` IN (1, 7, 3, 5) 
ORDER BY `id` ASC
Copier après la connexion

Le SQL pour l'ordre décroissant est :

SELECT * FROM `MyTable` 
WHERE `id` IN (1, 7, 3, 5) 
ORDER BY `id` DESC
Copier après la connexion

Parfois, le tri ci-dessus ne peut pas satisfaire nos besoins. Par exemple, nous voulons trier par identifiant dans l'ordre 5, 3, 7, 1, comment y parvenir. C’est également l’un des problèmes que rencontrent souvent de nombreux collègues en Allemagne et à l’étranger.

Ci-dessous, nous donnons une solution pour trier selon un certain champ dans le tableau dans le format de liste souhaité.

Solution

Utilisez "ORDER BY FIELD" (ORDER BY FIELD).

Syntaxe

ORDER BY FIELD(`id`, 5, 3, 7, 1)
Copier après la connexion

Il est à noter qu'il n'y a pas d'espace après FIELD.

Par conséquent, le SQL complet est :

SELECT * FROM `MyTable` 
WHERE `id` IN (1, 7, 3, 5) 
ORDER BY FIELD(`id`, 5, 3, 7, 1)
Copier après la connexion

Applications communes

SELECT * FROM `MyTable` 
WHERE `name` IN ('张三', '李四', '王五', '孙六') 
ORDER BY FIELD(`name`, '李四', '孙六', '张三', '王五')
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal