Укажите фамилию, сначала начните с буквы «C», а затем перечислите все - PullRequest
0 голосов
/ 10 октября 2018

Ответы [ 4 ]

0 голосов
/ 10 октября 2018

Попробуйте с помощью этого:

Он добавляет подчеркивание перед словами, начинающимися с 'C', поэтому сохраняет порядок слов, но, как подчеркивание стоит перед 'A', сначала перечислит эти слова

select last_name
from employee
group by last_name
order by case 
           when upper(substr(last_name,1,1))='C' 
                 then concat('_',last_name) 
                 else last_name end
0 голосов
/ 10 октября 2018

Грубое и грязное решение может быть:

SELECT
    last_name
FROM
    employees
WHERE
    (last_name LIKE [C-Z]%)
ORDER BY
    last_name DESC

Таким образом, мы говорим, чтобы дать нам столбцы, где фамилия начинается с любой буквы CZ (так, алфавит с A и B исключен), а затем упорядочить его, начиная с C

0 голосов
/ 10 октября 2018

Вы можете использовать функцию ascii с abs в следующем порядке:

select last_name
  from employees 
 order by abs(ascii(substr(last_name,1,1))-67);

67 - это код ascii C, а для других значений вы всегда получаетецелочисленное значение, превышающее zero из abs(olute) функции значения.

Rextester Demo

0 голосов
/ 10 октября 2018
select last_name 
from employees 
order by case substr(last_name,1,1) 
              when 'C' 
              then 1 
              else 2 end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...