Как отсортировать таблицу начиная с определенного значения?
Подскажите, как правильно отсортировать такую таблицу?
Нужно вывести сначала то, где есть |2|, а после все остальные:
id - data
1 - |1|2|3|
2 - |3|
3 - |2|
4 - |1|3|
Должно быть такое:
1 - |1|2|3|
3 - |2|
2 - |3|
4 - |1|3|
Нужно под CodeIgniter.
Пытался так делать $builder->orderBy('data="|2|"', 'ASC');, но не работает.
Ответы (1 шт):
Автор решения: Sergey Mironov
→ Ссылка
Нашел решение.
$builder->orderBy("CASE WHEN data = '|2|' THEN 0
WHEN data LIKE '|2|%' THEN 1
WHEN data LIKE '%|2|%' THEN 2
WHEN data LIKE '%|2|' THEN 3
ELSE 4
END, data", 'ASC');