mysql 按照权重排序
Posted 正怒月神
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 按照权重排序相关的知识,希望对你有一定的参考价值。
项目中查询某张表,会按照 state排序。
但是state设置后,由于每个状态的权重不同,所以需要额外设置权重,用来排序。
一 数据库增加权重字段
这个是最方便的,
不管是增加关联表,还是增加字段。都是可以的。直接按照权重字段排序就好了。
二 通过sql拼接权重
我是将状态和权重,放在枚举中的。
通过获取状态枚举,取出状态的值和权重。
最后拼接sql
select t.*
, ( IF(state=1 , 70, 0)
+ IF(state=2 , 80, 0)
+ IF(state=3 , 90, 0)
+ IF(state=4 , 100, 0)
+ IF(state=5 , 60, 0)
+ IF(state=6 , 50, 0)
+ IF(state=7 , 40, 0) ) AS weight
from testTable as t
以上是关于mysql 按照权重排序的主要内容,如果未能解决你的问题,请参考以下文章