MySQLdb、Python原始查询和自定义ORDER BY

0 投票
2 回答
1938 浏览
提问于 2025-04-16 15:44

我正在尝试做以下事情:

query = "SELECT * FROM table ORDER BY %s %s"
parameters = ['avg', 'DESC']

但是参数没有正确地映射。

SELECT * FROM table ORDER BY 'avg' 'DESC'

而不是

SELECT * FROM table ORDER BY avg DESC

你知道为什么吗?

2 个回答

1

你不能用参数来动态指定字段名称。参数只能用来指定值。

1

使用这个:

"SELECT * FROM table ORDER BY %s %s" % ('avg', 'DESC')

应该就能解决问题。

撰写回答