Bringen Sie Zeilen in einer Datenbanktabelle, die in allen Spalten Daten enthalten, in den Vordergrund
P粉504080992
P粉504080992 2023-08-18 15:48:44
0
1
554
<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粉504080992
P粉504080992

Antworte allen(1)
P粉677573079

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

SELECT name, age, address
FROM yourTable
ORDER BY
    name,
    age IS NULL,      -- 非空年龄优先
    age,              -- 按年龄升序排序
    address IS NULL,  -- 非空地址优先
    address;          -- 按地址升序排序
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage