Rumah  >  Soal Jawab  >  teks badan

Kaedah pelaksanaan MySQL jenis menaik berbilang lajur

<p>Saya cuba menjalankan pertanyaan ini dalam tertib menaik: </p> <pre class="brush:php;toolbar:false;">SELECT title,project_index DARI butiran projek DI MANA indeks_projek ANTARA 1 DAN 6 PESANAN MENGIKUT tajuk, project_index ASC;</pre> <p>Saya memerlukan dua lajur dalam tertib menaik, tetapi pertanyaan di atas hanya mengembalikan hasil untuk satu lajur dalam <kod>ASC</code> </p>
P粉244730625P粉244730625448 hari yang lalu471

membalas semua(1)saya akan balas

  • P粉808697471

    P粉8086974712023-08-23 13:48:18

    Menaik ialah isihan lalai untuk kebanyakan (jika tidak semua) DBMS, jadi pernyataan anda agak pelik dalam hal itu, tetapi bagaimanapun, anda boleh menentukan isihan dengan menambahkan ASC atau DESC pada setiap lajur.

    Kenyataan anda akan menjadi:

    SELECT  title
            , project_index 
    FROM    projectdetail 
    WHERE   project_index BETWEEN 1 AND 6 
    ORDER BY 
            title ASC
            , project_index ASC

    Edit

    Seperti yang @Arvo dan @Dems sebutkan, anda sedang mengisih mengikut tajuk dahulu, kemudian mengikut project_index jika tajuk adalah sama. Jika anda mahu project_index diisih dahulu, anda mesti meletakkannya dahulu dalam klausa ORDER BY.

    Kenyataan anda akan menjadi:

    SELECT  title
            , project_index 
    FROM    projectdetail 
    WHERE   project_index BETWEEN 1 AND 6 
    ORDER BY 
            project_index ASC
            , title ASC

    Oleh kerana ASC ialah susunan isihan lalai, anda boleh meninggalkannya:

    SELECT  title
            , project_index 
    FROM    projectdetail 
    WHERE   project_index BETWEEN 1 AND 6 
    ORDER BY 
            project_index
            , title

    balas
    0
  • Batalbalas