suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Bringen Sie Zeilen in einer Datenbanktabelle, die in allen Spalten Daten enthalten, in den Vordergrund

<p>In MySQL5.7 habe ich eine Spalte mit 28 Spalten und 4000 Zeilen. Ich möchte zuerst alle Zeilen abrufen, die Daten enthalten, oder zuerst die Zeile mit den meisten Datenspalten und dann nach und nach die Daten anderer Zeilen. Wie kann ich das umsetzen? </p> <p>Zum Beispiel: Tabelle: Student</p> <table class="s-table"> <thead> <tr> <th style="text-align:center;">name</th> <th style="text-align:center;">age</th> <th style="text-align:center;">address</th> </tr> </thead> <tbody> <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;">kalifornien</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> </tbody> </table> <p>Erwartete Ausgabe: Zuerst sollte „gib“ erscheinen, dann „tan“ oder „pur“ mit nur einer Datenspalte und schließlich „hal“ ohne Daten. </p>
P粉504080992P粉504080992474 Tage vor569

Antworte allen(1)Ich werde antworten

  • P粉677573079

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

    假设name列永远不会有空值,我们可以尝试:

    SELECT name, age, address
    FROM yourTable
    ORDER BY
        name,
        age IS NULL,      -- 非空年龄优先
        age,              -- 按年龄升序排序
        address IS NULL,  -- 非空地址优先
        address;          -- 按地址升序排序
    

    Antwort
    0
  • StornierenAntwort