Создать представление с колонкой num_rows - MySQL

Мне нужно создать представление, которое имеет столбец с именем row_num, в который будет вставлен номер строки, так же, как автоматическое увеличение в обычной таблице.

Допустим, у меня есть эта нормальная таблица:

| country | name | age | price |
--------------------------------
| US      | john | 22  | 20    |
| France  | Anne | 10  | 15    |
| Sweden  | Alex | 49  | 10    |

И так далее...

Представление, которое я хочу создать:

    | country | name | price | row_num |
    ------------------------------------
    | US      | john |  20   |    1    |
    | France  | Anne |  10   |    2    |
    | Sweden  | Alex |  5    |    3    |

И так далее...

Я могу сгенерировать row_num с помощью одного выбора:

SELECT @i:=@i+1 AS row_num, testing.country, testing.name, testing.price
FROM testing testing,(SELECT @i:=0) derivedTable
order by name

Но моя проблема состоит в том, чтобы объединить запрос выше с запросом, создающим представление. Это комбинированный запрос, который я пытаюсь:

CREATE OR REPLACE view vwx (country, name, price, num_row) AS SELECT mytable.country, mytable.name, mytable.price, @i:=@i+1 AS row_number
    FROM testing testing,(SELECT @i:=0) derivedTable
    order by name;

Я получаю следующую ошибку: # 1351 - SELECT View содержит переменную или параметр

Я знаю, что не могу использовать выбор внутри выбора с представлениями, но я не вижу другого способа сделать это представление таким, как я хочу, но я уверен, что есть способ сделать это, но я просто не знаю как. Вероятно, с функциями или процедурами, но я действительно новичок в них, поэтому мне неудобно создавать функции или процедуры в mysql.

Надеюсь, я дал понять, в противном случае я более чем рад объяснить себя более подробно.

Ответы на вопрос(7)

Ваш ответ на вопрос