场景:
使用sqlalchemy查询数据后,需要获取倒叙后的数据。大多建议在关键字前面添加“-”,即为倒叙。如下:
提示错误:
Can't resolve label reference for ORDER BY / GROUP BY. Textual SQL expression '-update_time' should be explicitly declared as text('-update_time')
解决方法:
将order_by('-update_time')
替换为order_by(text('-update_time'))
说明:
使用了text
方法后,实际效果等同于直接写了sql中的一部分。
因此,order_by(text('-update_time'))效果和
order_by(text(‘update_time desc’))是一样的。
注意,像sqlite数据库是不支持order_by(text('-update_time'))
,mysql两种倒叙查询用法都支持。