mysql 按照权重排序
2023-09-11 14:21:21 时间
项目中查询某张表,会按照 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
相关文章
- Mac Pro 解压安装MySQL二进制分发版 mysql-5.6.30-osx10.11-x86_64.tar.gz(不是dmg的)
- linux - mysql 异常:MySQL Daemon failed to start.
- mysql数据去重并排序使用distinct 和 order by 的问题
- mysql 分组取最新的一条记录(整条记录)
- Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
- MySQL数据库排序选择的作用和该如何选择编码格式
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (
- 数据库基础之Mysql(3)mysql删除历史binlog
- mysql 有报错 ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
- MySQL事务隔离级别理解_解读MYSQL的可重复读、幻读及实现原理
- Mysql 如果有多个可选条件怎么加索引_MySQL|mysql-索引
- MYsql 数据库密码忘记(Window)-2(mysql 5.7)
- Atitit mysql数据库统计信息
- Atitit 分区后的查询 mysql分区记录的流程与原理
- MySQL解析过程、执行过程
- MySQL Study之--Mysql无法启动“mysql.host”
- mysql-定时调用存储过程
- PowerDesigner中导入MYSQL数据库结构的步骤及问题解决
- 【MySQL笔记】mysql来源安装/配置步骤和支持中国gbk/gb2312编码配置
- [MySQL] 解决办法: Error: Transaction test error: file /etc/my.cnf from install of mysql-community-server
- Ubuntu18.10 安装和使用MySQL
- Linux上安装Mysql+Apache+Php
- mysql 查看 脏页_MySQL:刷脏页
- MySql limit offset
- MySQL数据库篇之mysql的快速启动和停止