Placer les lignes d'une table de base de données contenant des données dans toutes les colonnes au premier plan
P粉504080992
P粉504080992 2023-08-18 15:48:44
0
1
555
<p>Dans MySQL5.7, j'ai une colonne avec 28 colonnes et 4 000 lignes. Je souhaite d'abord obtenir toutes les lignes contenant des données ou obtenir d'abord la ligne contenant le plus de colonnes de données, puis obtenir progressivement les données des autres lignes. Comment puis-je mettre en œuvre cela ? </p> <p>Par exemple : Tableau : Étudiant</p> <table class="s-table"> <tête> <tr> <th style="text-align:center;">nom</th> <th style="text-align:center;">age</th> <th style="text-align:center;">adresse</th> ≪/tr> ≪/tête> <corps> <tr> <td style="text-align:center;">tan</td> <td style="text-align:center;">10</td> <td style="text-align:center;"></td> ≪/tr> <tr> <td style="text-align:center;">gib</td> <td style="text-align:center;">10</td> <td style="text-align:center;">californie</td> ≪/tr> <tr> <td style="text-align:center;">hal</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> ≪/tr> <tr> <td style="text-align:center;">pur</td> <td style="text-align:center;">12</td> <td style="text-align:center;"></td> ≪/tr> </tcorps> </tableau> <p>Résultat attendu : 'gib' devrait apparaître en premier, puis 'tan' ou 'pur' avec seulement 1 colonne de données, et enfin 'hal' sans aucune donnée. </p>
P粉504080992
P粉504080992

répondre à tous(1)
P粉677573079

En supposant que la colonne name n'a jamais de valeur nulle, on peut essayer :

SELECT name, age, address
FROM yourTable
ORDER BY
    name,
    age IS NULL,      -- 非空年龄优先
    age,              -- 按年龄升序排序
    address IS NULL,  -- 非空地址优先
    address;          -- 按地址升序排序
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal