(MySQL) 按字段排序 1=3,字段 2
Posted
技术标签:
【中文标题】(MySQL) 按字段排序 1=3,字段 2【英文标题】:(MySQL) OrderBy Field1=3, Field2 【发布时间】:2009-01-27 21:57:18 【问题描述】:我想订一张桌子:
首先由 Field1=3 然后按Field2 DESC
我知道我不能写 OrderBy Field1=3, Field2 DESC
那么我该如何实现呢?
澄清:
假设我有一张书桌。我希望列出表中的所有书籍。我希望 1990 年的书籍出现在顶部,然后按标题的字母顺序显示其余书籍。
【问题讨论】:
我不确定您的意思,您是否希望将 Field1 的值正好为 3 的所有行放在顶部,然后放在不是 3 的所有行之前? 【参考方案1】:实际上,你可以写你说你不能的语句。使用您的说明示例:
SELECT * FROM Books ORDER BY (year = 1990) DESC, name
对于年份为 1990 的年份,“year = 1990”将为“1”,因此它们将位于顶部。
【讨论】:
【参考方案2】:这是 TSQL 而不是 mysql,但它应该给你的想法...
(假设我理解你的问题......)
ORDER BY
CASE WHEN Field1 = 3 THEN 0 ELSE 1 END ASC,
Field2 DESC
【讨论】:
以上是关于(MySQL) 按字段排序 1=3,字段 2的主要内容,如果未能解决你的问题,请参考以下文章