MySQL - 舍入(排序) - 只有在大于/小于10的情况下才能舍入数字

时间:2014-11-17 20:15:15

标签: mysql rounding ceiling

我的查询如下:

SELECT id, name, 
MATCH (name) AGAINST (%serach term%) as relevance,
address 
FROM table

我得到的相关结果介于5.1和14.0之间。我想按相关性进行排序,但也要按其他字段排序,所以我想稍微整理一下相关性。

我得到了这样的工作:

SELECT id, name, 
round(MATCH (name) AGAINST (%serach term%),0) as relevance,
address 
FROM table

这将它舍入到最接近的整数。

但是,理想情况下,我真的想知道哪些是10以上,哪些低于10并且这是唯一的区别因素。

所以:1,5,5,9.9将全部“回合”到10。 然后,10.1,14.1将全部“舍入”到20。

或者它可以是0和1.或0和10,或0和20。

我不知道该怎么做,或者甚至可能。我一直在看天花板()和圆形(),但我无法弄明白。

1 个答案:

答案 0 :(得分:0)

尝试CASE WHEN

SELECT id, name, 
CASE WHEN MATCH (name) AGAINST (%serach term%) <= 10 THEN 10 
     WHEN MATCH (name) AGAINST (%serach term%) > 10 THEN 20
     END as relevance,
address 
FROM table