MySQL ORDER BY偏移量

时间:2010-04-26 12:22:35

标签: sql mysql sql-order-by

在MySQL查询中,我将如何选择:

  • 所有行,按列name
  • 排序
  • name > 'f'的人应该先来,其余的按字母顺序

所以我得到G, H, …, X, Y, Z, A, B, C …, F

5 个答案:

答案 0 :(得分:3)

SELECT 
  * 
FROM
  mytable 
ORDER BY
  CASE WHEN name > 'F' THEN 0 ELSE 1 END,
  name

答案 1 :(得分:2)

使用MySQL,您可以使用这个更短的代码:

SELECT * FROM tbl ORDER BY name > 'F' DESC, name

G,H,I ...大于F,因此上述条件将导致true,true排序为last,false排序为first,所以只需将DESC

答案 2 :(得分:1)

您可以使用2个选择查询

制作视图
SELECT * FROM mytable WHERE name > 'F' ORDER BY name

SELECT * FROM mytable WHERE name < 'F' ORDER BY name

并结合结果

答案 3 :(得分:0)

也许我错过了什么,但它是

SELECT * FROM mytable WHERE name > 'F' ORDER BY name

答案 4 :(得分:0)

我认为他想要一个像

这样的答案
SELECT * FROM mytable WHERE name > 'F' ORDER BY SUBSTR (name, 1, 1) + 'G'