Comment trier les résultats SQL si une colonne est vide ?
P粉969666670
P粉969666670 2024-04-05 00:39:32
0
1
466

J'ai une question sur le tri des résultats des requêtes. J'ai 3 colonnes à trier :

ORDER BY level DESC, logo DESC, bName ASC

Je voulais d'abord commander le "niveau" le plus élevé via DESC et cela a fonctionné.

Ensuite, je souhaite commander si "logo" est vide mais pas le contenu du logo que ma requête exécute.

Enfin je souhaite commander par bName ASC

Donc, le résultat que je veux est le suivant :

1. Level-3 has logo bName a-z
2. Level-3 has no Logo bName a-z
3. Level-2 has logo bName a-z
4. Level-2 has no Logo bName a-z
5. Level-1 has logo bName a-z
6. Level-1 has no Logo bName a-z

Est-il possible d'accomplir cela avec une seule requête propre ?

Exemple de saisie correspondant :

Niveau logo bNom
3 Test.jpg Nom du test
2 Nom du test
1 12test.jpg Un autre nom de test
1 3test.jpg Anonyme
2 John Doe
2 Dodo
3 5test.jpg Nom du test
1 sdsd-test.jpg Nom du test

Dans certains cas, le logo de la colonne est vide (par exemple = '' ), mais pas NULL

P粉969666670
P粉969666670

répondre à tous(1)
P粉745412116

Vous n'avez pas fourni d'informations sur vos données et sur ce que signifie réellement "le logo est vide", mais le principe est le suivant :

ORDER BY 
  level DESC, 
  case when logo  '' then 1 else 2 end,
  bName ASC;
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal