Utwórz widok z kolumną num_rows - MySQL

Muszę utworzyć widok, który ma kolumnę o nazwie row_num, w której zostanie wstawiony numer wiersza, tak jak przyrost automatyczny w normalnej tabeli.

Powiedzmy, że mam tę normalną tabelę:

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

I tak dalej...

Widok, który chcę utworzyć, to:

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

I tak dalej...

Mogę wygenerować numer_wiersza za pomocą jednego wyboru:

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

Ale moim problemem jest połączenie powyższego zapytania z zapytaniem tworzącym widok. To jest połączone zapytanie, które próbuję:

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;

Otrzymuję następujący błąd: # 1351 - SELECT widoku zawiera zmienną lub parametr

Wiem, że nie mogę użyć zaznaczenia wewnątrz zaznaczenia z widokami, ale nie widzę innego sposobu na zrobienie tego w taki sposób, w jaki chcę, ale jestem pewien, że istnieje sposób, aby to zrobić, ale po prostu nie wiem w jaki sposób. Prawdopodobnie z funkcjami lub procedurami, ale jestem naprawdę nowy, więc nie czuję się dobrze z tworzeniem funkcji lub procedur w mysql.

Mam nadzieję, że wyraziłem się jasno, w przeciwnym razie jestem bardziej niż szczęśliwy, by wyjaśnić się bardziej szczegółowo.

questionAnswers(7)

yourAnswerToTheQuestion