Sql - 按整数/字符串排序

时间:2014-05-05 17:52:47

标签: php sql int varchar

我在查询中使用此选项:

$stmt = $dbh->prepare("SELECT column FROM table WHERE category = :category ORDER BY clicks DESC LIMIT 4");

但是,这就是列的工作原理:

clicks varchar(10) NOT NULL,

所以它不是一个整数,而是一个字符串......

这是查询无法正常工作的原因吗? 有没有办法解决它?

问候!

1 个答案:

答案 0 :(得分:0)

真正的解决方案当然是使列成为整数,但是如果你真的无法改变它,你可以使用类似的东西(虽然是一种黑客......):

SELECT column FROM table WHERE category = :category 
  ORDER BY LENGTH(clicks) DESC, clicks DESC LIMIT 4
相关问题