Méthode d'implémentation MySQL du tri ascendant multi-colonnes
P粉244730625
P粉244730625 2023-08-22 18:35:13
0
1
474
<p>J'essaie d'exécuter cette requête par ordre croissant : </p> <pre class="brush:php;toolbar:false;">SELECT titre,project_index DE détail du projet OÙ index_projet ENTRE 1 ET 6 ORDER BY titre, project_index ASC;</pre> <p>J'ai besoin de deux colonnes par ordre croissant, mais la requête ci-dessus ne renvoie les résultats que pour une colonne dans l'ordre <code>ASC</code> </p>
P粉244730625
P粉244730625

répondre à tous(1)
P粉808697471

Ascending est le tri par défaut pour la plupart (sinon la totalité) des SGBD, donc votre déclaration est un peu étrange à cet égard, mais de toute façon, vous pouvez spécifier le tri en ajoutant ASC ou DESC sur chaque colonne.

Votre déclaration deviendra :

SELECT  title
        , project_index 
FROM    projectdetail 
WHERE   project_index BETWEEN 1 AND 6 
ORDER BY 
        title ASC
        , project_index ASC

Modifier

Comme @Arvo et @Dems l'ont mentionné, vous triez actuellement d'abord par titre, puis par project_index si les titres sont les mêmes. Si vous souhaitez que project_index soit trié en premier, vous devez le mettre en premier dans la clause ORDER BY.

Votre déclaration deviendra :

SELECT  title
        , project_index 
FROM    projectdetail 
WHERE   project_index BETWEEN 1 AND 6 
ORDER BY 
        project_index ASC
        , title ASC

Comme ASC est l'ordre de tri par défaut, vous pouvez les omettre :

SELECT  title
        , project_index 
FROM    projectdetail 
WHERE   project_index BETWEEN 1 AND 6 
ORDER BY 
        project_index
        , title
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal