多列升序排序的MySQL實作方法
P粉244730625
P粉244730625 2023-08-22 18:35:13
0
1
449
<p>我正在嘗試按升序運行此查詢:</p> <pre class="brush:php;toolbar:false;">SELECT title,project_index FROM projectdetail WHERE project_index BETWEEN 1 AND 6 ORDER BY title, project_index ASC;</pre> <p>我需要兩列按升序排列,但上述查詢只回傳一個列按<code>ASC</code>順序的結果。 </p>
P粉244730625
P粉244730625

全部回覆(1)
P粉808697471

升序是大多數(如果不是全部)DBMS的預設排序方式,所以你的語句在這方面有點奇怪,但是無論如何,你可以透過在每個欄位上新增ASC或DESC來指定排序方式。

你的語句將變成:

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

編輯

如@Arvo和@Dems所提到的,你目前是先依照標題排序,如果標題相同,則依照project_index排序。如果你想要project_index先排序,你必須把它放在ORDER BY子句的第一個。

你的語句將變成:

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

因為ASC是預設的排序順序,所以你可以省略它們:

SELECT  title
        , project_index 
FROM    projectdetail 
WHERE   project_index BETWEEN 1 AND 6 
ORDER BY 
        project_index
        , title
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!