Maison > base de données > tutoriel mysql > Comment puis-je trier les résultats dans chaque section lors de l'utilisation de UNION dans MySQL ?

Comment puis-je trier les résultats dans chaque section lors de l'utilisation de UNION dans MySQL ?

Mary-Kate Olsen
Libérer: 2025-01-11 11:39:42
original
447 Les gens l'ont consulté

How Can I Sort Results Within Each Section When Using UNION in MySQL?

Maîtriser les résultats triés avec UNION et ORDER BY de MySQL

Combiner des données de plusieurs instructions SELECT à l'aide de UNION de MySQL est puissant, mais maintenir le tri des sections individuelles peut être délicat. Ce guide montre comment trier les résultats dans chaque section en fonction d'une colonne spécifique (comme « id » ou « add_date ») tout en préservant le regroupement logique de votre UNION requête.

Votre scénario implique de récupérer des données basées sur différents critères à partir d'un seul tableau, puis de consolider les résultats à l'aide de UNION sous des rubriques distinctes. Voici la solution :

Introduisez une colonne « classement » (une pseudo-colonne) à chaque SELECT affirmation. Cette valeur numérique dicte l'ordre d'affichage dans chaque section.

<code class="language-sql">SELECT 1 AS Rank, id, add_date FROM Table
UNION ALL
SELECT 2 AS Rank, id, add_date FROM Table WHERE distance < ...</code>
Copier après la connexion

Ensuite, encapsulez cette requête combinée dans une sous-requête. La requête principale utilise ensuite cette sous-requête comme source de données, en triant d'abord selon la colonne « Classement », puis selon les critères de tri que vous avez choisis (par exemple, « id » ou « add_date »).

<code class="language-sql">SELECT *
FROM (
    SELECT 1 AS Rank, id, add_date FROM Table
    UNION ALL
    SELECT 2 AS Rank, id, add_date FROM Table WHERE distance < ...
) AS Subquery
ORDER BY Rank, id; -- Or ORDER BY Rank, add_date;</code>
Copier après la connexion

Cette méthode garantit un tri précis dans chaque section définie par votre UNION opération, fournissant un ensemble de résultats propre et organisé.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal