Я хочу дать порядковый номер каждой строке запроса, и я знаю оператор SQL в среде MySql.В моей тестовой базе данных оператор sql без заказа:
SELECT `department`.`name` AS `department`, `staff`.`firstName` AS `firstName`, `staff`.`lastName` AS `lastName` FROM `department`,`staff` WHERE `staff`.`department_id`=`department`.`id`;
И результат его запроса в MySql:
Запрос без номера
Связанный пронумерованный SQL-оператор вышеупомянутого SQL-оператора:
SELECT (@i:=@i+1) AS `id`,`department`.`name` AS `department`, `staff`.`firstName` AS `firstName`, `staff`.`lastName` AS `lastName` FROM `department`,`staff`,(SELECT @i:=0) AS `tmp` WHERE `staff`.`department_id`=`department`.`id`;
И его результат запроса в MySql:
Запрос с номером
Я также знаю, что выражение sqlalchemy flask в python для первого без числового регистра может быть:
qList=db.session.query(Department.name.label("department"),Staff.firstName.label("firstName"),Staff.lastName.label("lastName")).select_from(Department,Staff).filter(Staff.department_id==Department.id).all()
Это даст мне список, содержащий вышеуказанные данные.
Но как мне написатьчасть (SELECT @i:=0) AS
tmp " and "(@i:=@i+1) AS
id в операторе sqlalchemy колбы?
Я использую колбу 1.0.2, flask_sqlalchemy 2.3.2.