Вернуть последнее значение INT в новой ячейке - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь назначить агенту определенные строки на листе на основе последнего значения столбца Row_Number.Если Row_Number оканчивается на 0-4, то я хочу, чтобы в ячейке рядом с ним было указано «Джон».Если Row_Number оканчивается на 5-9, то я хочу, чтобы в ячейке рядом с ним было указано Сэм.

Это результат, который я хотел бы видеть;

| Row_Number  | Agent_name  |
|-------------|-------------|
|      1      |     John    |
|      2      |     John    |
|      3      |     John    |
|      4      |     John    |
|      5      |     Sam     |
|      6      |     Sam     |
|      7      |     Sam     | 
|      8      |     Sam     | 

Вот что у меня естьпока что;

SELECT ROW_NUMBER() OVER(ORDER BY id DESC) AS Row_number,
      CASE WHEN RIGHT("row_number",1) BETWEEN 0 AND 4 THEN John
           WHEN RIGHT("row_number",1) BETWEEN 5 AND 9 Then Sam
      END AS AGENT_NAME
FROM table
ORDER BY ROW_NUMBER ASC

Кажется, что Presto может не поддерживать функцию RIGHT, в которой я застреваю.У кого-нибудь есть предложения?

1 Ответ

0 голосов
/ 06 июня 2018

Вы можете использовать substr():

SELECT Row_number, (CASE WHEN substr(reverse(Row_number), 1, 1) BETWEEN 0 AND 4 
                         THEN "John"
                         WHEN substr(reverse(Row_number), 1, 1) BETWEEN 5 AND 9 
                         THEN "Sam"
                    END) AS AGENT_NAME
FROM (SELECT ROW_NUMBER() OVER(ORDER BY id DESC) AS Row_number, *
      FROM table
     ) t;
...