结果" 10.00"在Mysql查询中没有显示TOP结果从1到10

时间:2014-10-30 17:44:23

标签: php mysql

我使用以下查询显示当前用户取得的最佳成绩的十大。

$query = 'SELECT * 
          FROM results 
          WHERE date ="'.$today.'" 
          ORDER BY `score` DESC 
          LIMIT 0 , 10';
  • 分数从1到10,格式为:9.20,9.00,8.10,8.00等。
  • 最高得分是10.00,但它是唯一没有在TOP 10列表中显示的得分。
  • 我正在预感它被视为1 ...而不是10,但我不知道如何调试它。请帮忙

1 个答案:

答案 0 :(得分:5)

我怀疑您的score列是varchar类型而不是小数类型。在varchar列上使用order by时,它将使用char值而不是整数值进行排序。字符串'10 .00'低于'9.90'。

确保您的数据库将分数存储为十进制而不是varchar。