Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql rails:按大小数属性进行订单查询_Mysql_Ruby On Rails_Decimal - Fatal编程技术网

Mysql rails:按大小数属性进行订单查询

Mysql rails:按大小数属性进行订单查询,mysql,ruby-on-rails,decimal,Mysql,Ruby On Rails,Decimal,我有一个活动记录模型,它的属性是big decimal类型。我希望能够将这个属性作为一个数字进行排序。相反,我有以下几点: 1.9.1 :034 > y Ball.order("radius desc").map{|b| b.radius} Ball Load (1.1ms) SELECT `balls`.* FROM `balls` ORDER BY radius desc --- - 11.5 - 8.0 - 4.9 - 12.0 - 6.6 - 6.8 - 10.0 - 6.0

我有一个活动记录模型,它的属性是big decimal类型。我希望能够将这个属性作为一个数字进行排序。相反,我有以下几点:

1.9.1 :034 > y Ball.order("radius desc").map{|b| b.radius}
  Ball Load (1.1ms)  SELECT `balls`.* FROM `balls` ORDER BY radius desc
---
- 11.5
- 8.0
- 4.9
- 12.0
- 6.6
- 6.8
- 10.0
- 6.0
- 7.6
- 8.4

我想知道在rails中是否有一种合理的可能性来执行排序,而无需对查询进行大量更改

对我来说很好,ruby-2.0.0-p0,'rails','3.2.13',折扣是十进制的,:精度=>8,:比例=>2,:默认=>0.0

y Project.order("discount desc").map{|p| p.discount }
Project Load (2.4ms)  SELECT `projects`.* FROM `projects` ORDER BY discount desc
---
- 35.3
- 5.3
- 2.9
- 2.3
- 0.0

您将
radius
字段类型设置为什么?它是十进制类型。我的版本是:ruby 1.9.3p392,Rails 3.2.13。