Maison  >  Questions et réponses  >  le corps du texte

Placer les lignes d'une table de base de données contenant des données dans toutes les colonnes au premier plan

<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粉504080992P粉504080992428 Il y a quelques jours526

répondre à tous(1)je répondrai

  • P粉677573079

    P粉6775730792023-08-19 12:28:57

    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;          -- 按地址升序排序
    

    répondre
    0
  • Annulerrépondre