背景:SEO下选择某查询条件 查询展示信息为装修设计师以及设计师作品。设计师原型设计为:选择某风格 例如:简约,则列表出现拥有简约风格的设计师信息以及该设计师类型为简约的作品(3条靠前记录)

浏览原型后发现问题:若不选择风格时,直接 sor t浏览量完事。但是选择某项之后 要在前端体现选择作用,就和设计商量选择之后把选择中的风格靠前其他靠后 于是就变成了order by 指定字段指定值,默认排序字段

贴SQL:

SELECT

-- 展示信息

FROM

查询表 awi

WHERE

1 = 1

ORDER BY

(CASE WHEN style_code = #{style,jdbcType=VARCHAR} THEN 1 WHEN style_code LIKE CONCAT('%',#{style,jdbcType=VARCHAR},'%') THEN 2 ELSE 3 END ),

create_time DESC,

browsing_amount DESC

LIMIT 0,

#{limitEnd}

重点: ORDER BY

(CASE WHEN style_code = #{style,jdbcType=VARCHAR} THEN 1 WHEN style_code LIKE CONCAT('%',#{style,jdbcType=VARCHAR},'%') THEN 2 ELSE 3 END ),create_time DESC,browsing_amount DESC格式:在ORDER BY 之后判断指定字段指定值 并且把符合条件的设置为 sort 的 1排序判定 后面加上正常的业务排序就是按照不选择风格的sort方法

如果是多字段的话 可做成:ORDER BY 字段名1 = '值' desc ,字段2 = '值' desc ,字段3 = '值' desc

备注:多字段排序规则 我暂时没理解透彻,如有不合理地方 请谅解

php查询某个字段指定值的所有条数

一.查询某个字段指定值的所有条数 以name叫张三的人为例,查询表中叫张三的人的总数 $where['name']='张三'; $count=M('table')->where($where)- ...

mysql数据库中指定值在所有表中所有字段中的替换

MySQL数据库: 指定值在数据库中所有表所有字段值的替换(存储过程): 1.写一个存储过程,查指定数据库中所有的表名: CREATE PROCEDURE init_replace(in orig_s ...

sql 语句按字段指定值排序及分页

为特定字段赋值并排序 表[Table_temp]中列[col1]为字符,属性为varchar(),排序时需要按照B.A.C的顺序显示,则可按照以下SQL语句: select * from Table_ ...

sql 按字段指定值排序

这个需要在排序语句中使用条件判断 例如:表[Table_temp]中列[col1]为字符,属性为varchar(10),排序时需要按照B.A.C的顺序显示,则可按照以下SQL语句: select * ...

mysql获取所有分类的前n条记录的两种方法浅析

项目中有个需求是获取出展会分类下的前n条展商. 刚开始的思路是用group by 获取出展会的分类,后面再根据分类获取该分类下的n个展商,但也需要第一次获取出展会的时候也获取所有的每个展会分类下的 ...

mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享

摘要: 下文将分享两种将字段中null值替换为指定值的方法分享,如下所示: 实验环境:sqlserver 2008 R2 例: )) go insert into test(info)values(' ...

Mysql 在 select 查询时追加(添加)一个字段并指定值

在特定时候,在 mysql 的查询结果中我们需要追加一个字段来实现某些特定的功能,这时我们可以用到以下语法来实现 值 as 字段比如我们需要给这个查询结果追加一个 xx 字段并赋值为 null ,可以 ...

JavaScript从数组中删除指定值元素的方法

本文实例讲述了JavaScript从数组中删除指定值元素的方法.分享给大家供大家参考.具体分析如下: 下面的代码使用了两种方式删除数组的元素,第一种定义一个单独的函数,第二种为Array对象定义了一个 ...

MySQL数据库 存储引擎,创建表完整的语法,字段类型,约束条件

1.存储引擎 - 存储引擎是用于根据不同的机制处理不同的数据. - 查看mysql中所有引擎: - show engines; - myisam: 5.5以前老的版本使用的存储引擎 - blackho ...