У меня есть этот запрос:Сортировка SQL записей на основе согласованных условий
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"
Можно ли это сделать?
Ну, что вы пробовали? Обратите внимание, что это просто нормальная лексическая сортировка строк ... – 2010-09-16 19:37:09
Ваш запрос является избыточным. используя только «WHERE key LIKE» 1,% '»даст вам те же результаты. –
@ Кевин, да, вы абсолютно правы. Поскольку теперь я использую более конкретные условия в «ORDER BY CASE», теперь я изменил условие WHERE на «1,%». – remi