Я пытаюсь объявить переменные в моем представлении, что, как я выяснил, запрещено. Мне нужно иметь возможность установить в каждой строке определенное число на основе поля идентификатора. Таким образом, если поле идентификатора появляется 3 раза, оно должно считать каждую строку как (1, 2, 3), а затем, когда идентификатор изменяется, оно должно перезапустить строку # до 1.
Что я пробовал:
Я пытался добавить переменные в представление, но это не принимается при создании представления.
select
@Row_Number := case when @AppID = `afpd1`.`AppsID` then @Row_Number + 1
else 1 end as num,
@AppID := `afpd1`.`AppsID`,
`afpd1`.`AppsID` AS `AppID1`,`afpd1`.`Amount`
FROM
(
( `app_fee_pay_data` `afpd1` JOIN `tracking` `tra1` ON ( ( `afpd1`.`AppsID` = `tra1`.`tci_application_id` ) ) )
JOIN `fa_app_data` `fad1` ON ( ( `afpd1`.`AppsID` = `fad1`.`ApplicationID` )) join (select @Row_Number := 0) r
)
WHERE
( `tra1`.`tci_fee_submitted` = 11 and `afpd1`.`TxnTypeId` = 2)
Приведенный выше код дает мне желаемые результаты, но мне нужно обойти это, чтобы я мог сохранить это представление и использовать его.