簡體   English   中英

(MySQL)OrderBy Field1 = 3,Field2

[英](MySQL) OrderBy Field1=3, Field2

我想訂購一張桌子:

首先按Field1 = 3,然后按Field2 DESC

我知道我不能寫OrderBy Field1 = 3,Field2 DESC

那么我該如何實現呢?

澄清:

假設我有一張桌子。 我希望列出表中的所有書籍。 我希望1990年以來的書排在頂部,然后其余書名按字母順序排列。

實際上,您可以寫您說不能的聲明。 使用您的說明示例:

SELECT * FROM Books ORDER BY (year = 1990) DESC, name

對於年份為1990的年份,“ year = 1990”將為“ 1”,因此它們將排在最前。

這是TSQL而不是MySQL,但它應該給您這個主意...

(假設我了解您的問題...)

ORDER BY
    CASE WHEN Field1 = 3 THEN 0 ELSE 1 END    ASC,
    Field2                                   DESC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM