【发布时间】:2011-04-13 09:44:42
【问题描述】:
我有这个问题:
SELECT * FROM table WHERE key LIKE '1,2,3,%' OR key LIKE '1,2,%' OR key LIKE '1,%'
是否可以根据首先匹配的条件对从此查询返回的记录进行排序。我想首先获取与key LIKE '1,2,3,%' 匹配的所有记录,然后是key LIKE '1,2,%' 和其他记录。
例如,如果我有这些记录:
key: "1,2,3,4"
key: "1,2,5"
key: "1,4"
key: "1,2,5,6"
key: "1,3"
key: "1,2,3,4,7"
key: "1,2,4"
我希望它们像这样排序:
key: "1,2,3,4"
key: "1,2,3,4,7"
key: "1,2,4"
key: "1,2,5"
key: "1,2,5,6"
key: "1,3"
key: "1,4"
可以吗?
【问题讨论】:
-
嗯,你试过什么?请注意,这只是正常的词法字符串排序...
-
您的查询是多余的。仅使用“WHERE key LIKE '1,%'”会得到相同的结果。
-
@Kevin,是的,你是绝对正确的。由于我现在在“ORDER BY CASE”中使用更具体的条件,因此我现在将 WHERE 条件更改为仅“1,%”。