我在查询中使用此选项:
$stmt = $dbh->prepare("SELECT column FROM table WHERE category = :category ORDER BY clicks DESC LIMIT 4");
但是,这就是列的工作原理:
clicks varchar(10) NOT NULL,
所以它不是一个整数,而是一个字符串......
这是查询无法正常工作的原因吗? 有没有办法解决它?
问候!
答案 0 :(得分:0)
真正的解决方案当然是使列成为整数,但是如果你真的无法改变它,你可以使用类似的东西(虽然是一种黑客......):
SELECT column FROM table WHERE category = :category
ORDER BY LENGTH(clicks) DESC, clicks DESC LIMIT 4