Yii使用 case when 来模糊排序查询
$search_arr=['沙发','床','现代轻奢','新中式'];//越排在前面得关键词,优先模糊排序$where=[];$order_by="";$query = Goods::find()->alias('g')->where(['g.status' => 1,'g.is_delete' => 0,'g.type' => get_plugin_type(),'g.is_clear_sale'=>$is_clear_sale,])->leftJoin(['m' => Mch::tableName()], 'm.id=g.mch_id')->andWhere(['or',['g.mch_id' => 0],['m.is_delete' => 0]]);
foreach ($search_arr as $k2=>$v2){$kk = $k2+1;if($k2==0){$where[$k2]="or";$where[$kk]=['like','g.name',$v2];$order_by='case when `g`.`name` like \'%'.$v2.'%\' then '.$kk;}else{$where[$kk]=['like','g.name',$v2];$order_by.=' when `g`.`name` like \'%'.$v2.'%\' then '.$kk;}}$order_by.=' end';$query->orderBy([$order_by => SORT_ASC]);$query->andwhere($where);$count = $query->count();$pagination = new Pagination(['totalCount' => $count, 'pageSize' => $this->limit, 'page' => $this->page - 1]);$list = $query->select('g.id,g.name,g.price,g.petao_introdu,g.original_price,g.cover_pic,gn.num,g.virtual_sales,g.unit,g.is_negotiable')->limit($pagination->limit)->offset($pagination->offset)->asArray()->groupBy('g.id')->all();
Yii使用 case when 来模糊排序查询相关推荐
- 简单查询(1.普通查询2.条件查询3.模糊查询4.排序查询5.统计查询(聚合函数)6.分组查询7.分页查询)...
1.普通查询 select * from Info #查询Info表中所有内容 select Code,Name from Info #查询Info表中的某几列 2.条件查询 select * fro ...
- 一、MySQL查询学习笔记(基础查询、条件查询、排序查询、常见函数、分组查询 详解)
DQL语言的学习 一.基础查询 语法: **SELECT 要查询的东西 [FROM 表名];**类似于Java中 :System.out.println(要打印的东西); 特点: ①通过select查 ...
- MySQL基础——数据库和SQL概述\MySQL基本使用\DQL语言学习\条件查询\排序查询\常见函数\分组查询\连接查询\子查询\分页查询\联合查询
本文详细讲解了MySQL中DQL语言,也就是数据查询语句的使用.全文3w余字,是对学习MySQL知识的整理总结,因为篇幅较长,MySQL基础知识余下部分发表在余下博客中 DML语言学习\插入数据\删除 ...
- SQL语法之排序查询(进阶3)and常见函数(进阶4)
SQL语法体系学习笔记 SQL语法之基础查询(进阶1)and条件查询(进阶2) SQL语法之排序查询(进阶3)and常见函数(进阶4) SQL语法之分组函数,分组查询(进阶5)and连接查询(sql9 ...
- MySQL查询(DQL)之基础查询+条件查询+排序查询
基础查询 1. 查询常量: select 100; 2. 查询表达式 select 100%3; 3. 查询到单个字段 SELECT last_name FROM employees; 4. 查询多个 ...
- SQL条件查询,分组查询,排序查询,分页查询
DQL查询操作(条件查询,分组查询,排序查询,分页查询) 文章目录 DQL查询操作(条件查询,分组查询,排序查询,分页查询) 一.查询语法 二.基础查询 三.条件查询 四.排序查询 五.分组查询 六. ...
- MySQL-数据查询操作-基本查询-条件查询-排序查询
文章目录 ==基础查询== 语法.特点.注意事项 案例 ==条件查询== 语法 按条件表达式筛选 按逻辑表达式筛选 模糊查询 ==排序查询== 语法特点 案例 基础查询 案例所使用表字段介绍: 语法. ...
- mysql 李玉婷bilibili配套听课笔记(二)排序查询、常见函数
-- 进阶3: 排序查询/* 语法: select 查询列表 from 表 [where 筛选条件] order by 排序列表 asc升序默认可省略/desc降序 */-- 案例1: 查询员工信息, ...
- Mysql数据库入门---数据查询常用方法(包含条件查询和排序查询)
Mysql数据库入门-数据查询 Author:qyan.li Date:2022.2.21 文章目录 ``Mysql``数据库入门---数据查询 1. ``select``关键字 2.条件查询 3.排 ...
- Mysql进阶学习(三)排序查询与常见函数
Mysql进阶学习(三)排序查询与常见函数 一.进阶3:排序查询 1.语法: 2.特点: 3.排序方式 3.1.按单个字段排序 3.2.添加筛选条件再排序 案例:查询部门编号>=90的员工信息, ...
最新文章
- Webpack构建library时的踩坑经历
- linux sshpass 非交互的ssh密码验证 简介
- linux写时复制技术初探
- Linux下Shell的for循环语句
- 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛 Fishing Master
- Jupyter Notebook入门攻略
- 【整理】超细节的BERT/Transformer知识点
- 野蛮人传教士问题(上)
- java 获取本年月份、本月/本周所有日期
- dot com过时了,个性域名“钱”景看好
- 信捷触摸屏UI模板XINJIE UI信捷触摸屏界面模板
- 32位计算机怎么安装ps,ps怎么安装到电脑上(免费教你安装ps)
- 如何将kotlin数组转为java的可变参数...
- 查询数据库重复记录方法
- 用5v1a的充电器给1.2v的镍氢电池充电(充满后可自动断电)或者可以定时
- Cesium开发:地下模式效果
- 写好网站建设推广文章很重要呀
- 电费充值api系统接口 支持国家电网
- 利用gplaycli下载apk
- 获取URL中的链接(可中文也可英文)
热门文章
- 什么是BOM?BOM和DOM的区别
- opencv 叠加文字_利用opencv为视频添加动态字幕
- python判断闰年程序_python实现闰年
- 推荐好用的两个搜索下载书籍网站
- gateway中的局部过滤器_SpringCloud系列Gateway:过滤器总结
- 解决后台传入的大于js最大数值精度的问题
- FLOPS和FLOPs、GFLOPs区别与计算
- 单片机引脚与端口,引脚和GPIO的区别
- android手机版excel怎样填充序列号,规范日期数据的极简法。Excel填充功能快速填充序号操作详解。如何制作工作日序列号填充,快速填充功能无法使用...
- C# datagridview / datatable 导出带表头的excel的数据