Порядок Mysql по начальной букве

#mysql

#mysql

Вопрос:

Мне нужно отсортировать [порядок по] запросу на основе начальной буквы.

Например, будет столбец заголовка.

Мне нужно отсортировать на основе буквы «e».

Необходимый результат заключается в том, что поля, начинающиеся с буквы «e», должны быть первыми, а остальная часть результата должна появиться позже.

Ответ №1:

 ...ORDER BY CASE WHEN LEFT(title, 1) = 'e' THEN 1 ELSE 2 END,
            title
  

Комментарии:

1. @sathish Рад помочь. Пожалуйста, отметьте этот ответ как «принятый», нажав на выделенную галочку рядом с ним.

2. Привет, Джо, теперь мне нужно отсортировать на основе указанного порядка, т. Е. Сначала должны быть буквы, начинающиеся с ‘e’, затем ‘r’, затем ‘s’ … Можете ли вы мне помочь…

3. @sathish: просто продолжайте расширять оператор CASE по мере необходимости. ...ORDER BY CASE WHEN LEFT(title,1) = 'e' THEN 1 WHEN LEFT(title,1) = 'r' THEN 2 WHEN LEFT(title,1) = 's' THEN 3 ELSE 999 END, title

Ответ №2:

 ORDER BY (SUBSTR(LOWER(title), 1, 1)='e')
  

Комментарии:

1. Ваше решение не завершено, вы должны отсортировать результат по ASC или DESC в конце.

2. Об этом требовании не идет и речи. «Остальная часть результата» не подразумевает, следует ли его сортировать или нет.

3. Но поля, начинающиеся с буквы «e», не появлялись первыми без сортировки.