0

我有一个包含 3 个字段的表,让我们说 field1、field2 和 field3。field2 中的值为 0 或 1。

我试图以某种方式获取 field1,以始终首先显示 field2 中值为 1 的所有行并由 field3 排列,然后显示其余数据,也由 field3 排列。

我的研究告诉我可以按两个字段排序,让我们说“按字段 2 Desc,字段 3 排序”,但这确实没有给出预期的结果。任何的想法?

4

2 回答 2

2

MySQL 需要做一个小改动:

ORDER BY field2 = 1 DESC, field3

或者对于标准 SQL:

ORDER BY CASE WHEN field2 = 1 THEN 1 ELSE 0 END DESC, field3
于 2012-08-25T03:18:44.890 回答
2

试试这个:

order by 
case when field2=1 then 0 else 1 end,
     field3
于 2012-08-25T03:22:17.383 回答