首先访问更多主题的主题

时间:2015-12-24 09:34:31

标签: mysql

我有一个名为visitas = varchar(20)的列。

我想要的是在过去3天内选择访问次数较多的主题,首先是访问量较多的主题,所以我尝试了:

SELECT titulo, id, visitas from posts where data >= DATE_SUB(NOW(),INTERVAL 3 day) order by visitas desc limit 10

但是order by visitas desc没有按照我的意愿运作,它不会先订阅更多访问者的主题...

topic1 title 2(visits)
topic2 title 2(visits)
topic3 title 10(visits)
topic4 title 1(visits)

我需要改变什么? 谢谢啦!

1 个答案:

答案 0 :(得分:1)

您应该将列更改为INT。整数在数字上进行比较,字符串按字典顺序进行比较。所以字符串'10'低于'2',因为它只是逐个字符地比较它。

如果您无法更改数据类型,则可以在查询中对其进行转换

ORDER BY CAST(visitas AS DECIMAL) DESC