cari

Rumah  >  Soal Jawab  >  teks badan

Bawa baris dalam jadual pangkalan data yang mempunyai data dalam semua lajur ke hadapan

<p>Dalam MySQL5.7, saya mempunyai lajur dengan 28 lajur dan 4000 baris. Saya ingin mendapatkan semua baris yang mempunyai data dahulu atau mendapatkan baris dengan lajur data yang paling banyak dahulu dan kemudian secara beransur-ansur mendapatkan data baris lain. Bagaimanakah saya boleh melaksanakan ini? </p> <p>Contohnya: Jadual: Pelajar</p> <table class="s-table"> <kepala> <tr> <th style="text-align:center;">name</th> <th style="text-align:center;">age</th> <th style="text-align:center;">address</th> </tr> </kepala> <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;">california</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>Output yang dijangkakan: 'gib' sepatutnya muncul dahulu, kemudian 'tan' atau 'pur' dengan hanya 1 lajur data, dan akhirnya 'hal' tanpa sebarang data. </p>
P粉504080992P粉504080992536 hari yang lalu601

membalas semua(1)saya akan balas

  • P粉677573079

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

    Dengan mengandaikan bahawa lajur name tidak pernah mempunyai nilai nol, kita boleh mencuba:

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

    balas
    0
  • Batalbalas