Maison >base de données >tutoriel mysql >Comment puis-je trier les résultats MySQL selon un ordre spécifique d'identifiants à l'aide de ORDER BY ?
Tri dans MySQL à l'aide de valeurs d'ID spécifiques avec ordre par
Pour réaliser un tri basé sur un ensemble prédéfini de valeurs d'ID à l'aide de l'option « Ordre par " dans MySQL, utilisez la fonction FIELD comme suit :
SELECT * FROM table ORDER BY FIELD(ID,1,5,4,3)
où "table" représente la cible table.
Comprendre la fonction FIELD
La fonction FIELD renvoie la position d'une valeur spécifiée dans une liste de valeurs donnée. Dans cet exemple, la valeur de la colonne « ID » est comparée à la liste fournie de valeurs d'ID (1, 5, 4 et 3). Le résultat est l'index de la valeur d'ID correspondante dans la liste, et les enregistrements sont triés en fonction de ces indices.
Applications
En utilisant cette approche, vous pouvez vous assurer que les enregistrements sont récupérés dans un ordre spécifique en fonction des valeurs d'ID fournies. Ceci est particulièrement utile lorsque vous avez besoin d'une séquence de tri prédéterminée qui n'est pas basée sur les valeurs réelles de la colonne ID.
Approche alternative pour résoudre le problème de pagination
L'original La question a également soulevé une préoccupation concernant la pagination, où le tri change lorsque les utilisateurs parcourent plusieurs pages. Pour résoudre ce problème, envisagez d’ajouter une colonne d’horodatage ou de numéro de séquence au tableau. Lors de la visite, stockez l'horodatage actuel ou le numéro de séquence dans une variable de session. Lors de la récupération des pages suivantes, triez en utilisant cet horodatage ou numéro de séquence au lieu de la colonne ID. De cette façon, les utilisateurs récupéreront les mêmes résultats triés jusqu'à ce qu'un nouvel horodatage ou numéro de séquence soit généré.
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!