$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. 简单查询(1.普通查询2.条件查询3.模糊查询4.排序查询5.统计查询(聚合函数)6.分组查询7.分页查询)...

    1.普通查询 select * from Info #查询Info表中所有内容 select Code,Name from Info #查询Info表中的某几列 2.条件查询 select * fro ...

  2. 一、MySQL查询学习笔记(基础查询、条件查询、排序查询、常见函数、分组查询 详解)

    DQL语言的学习 一.基础查询 语法: **SELECT 要查询的东西 [FROM 表名];**类似于Java中 :System.out.println(要打印的东西); 特点: ①通过select查 ...

  3. MySQL基础——数据库和SQL概述\MySQL基本使用\DQL语言学习\条件查询\排序查询\常见函数\分组查询\连接查询\子查询\分页查询\联合查询

    本文详细讲解了MySQL中DQL语言,也就是数据查询语句的使用.全文3w余字,是对学习MySQL知识的整理总结,因为篇幅较长,MySQL基础知识余下部分发表在余下博客中 DML语言学习\插入数据\删除 ...

  4. SQL语法之排序查询(进阶3)and常见函数(进阶4)

    SQL语法体系学习笔记 SQL语法之基础查询(进阶1)and条件查询(进阶2) SQL语法之排序查询(进阶3)and常见函数(进阶4) SQL语法之分组函数,分组查询(进阶5)and连接查询(sql9 ...

  5. MySQL查询(DQL)之基础查询+条件查询+排序查询

    基础查询 1. 查询常量: select 100; 2. 查询表达式 select 100%3; 3. 查询到单个字段 SELECT last_name FROM employees; 4. 查询多个 ...

  6. SQL条件查询,分组查询,排序查询,分页查询

    DQL查询操作(条件查询,分组查询,排序查询,分页查询) 文章目录 DQL查询操作(条件查询,分组查询,排序查询,分页查询) 一.查询语法 二.基础查询 三.条件查询 四.排序查询 五.分组查询 六. ...

  7. MySQL-数据查询操作-基本查询-条件查询-排序查询

    文章目录 ==基础查询== 语法.特点.注意事项 案例 ==条件查询== 语法 按条件表达式筛选 按逻辑表达式筛选 模糊查询 ==排序查询== 语法特点 案例 基础查询 案例所使用表字段介绍: 语法. ...

  8. mysql 李玉婷bilibili配套听课笔记(二)排序查询、常见函数

    -- 进阶3: 排序查询/* 语法: select 查询列表 from 表 [where 筛选条件] order by 排序列表 asc升序默认可省略/desc降序 */-- 案例1: 查询员工信息, ...

  9. Mysql数据库入门---数据查询常用方法(包含条件查询和排序查询)

    Mysql数据库入门-数据查询 Author:qyan.li Date:2022.2.21 文章目录 ``Mysql``数据库入门---数据查询 1. ``select``关键字 2.条件查询 3.排 ...

  10. Mysql进阶学习(三)排序查询与常见函数

    Mysql进阶学习(三)排序查询与常见函数 一.进阶3:排序查询 1.语法: 2.特点: 3.排序方式 3.1.按单个字段排序 3.2.添加筛选条件再排序 案例:查询部门编号>=90的员工信息, ...

最新文章

  1. Webpack构建library时的踩坑经历
  2. linux sshpass 非交互的ssh密码验证 简介
  3. linux写时复制技术初探
  4. Linux下Shell的for循环语句
  5. 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛 Fishing Master
  6. Jupyter Notebook入门攻略
  7. 【整理】超细节的BERT/Transformer知识点
  8. 野蛮人传教士问题(上)
  9. java 获取本年月份、本月/本周所有日期
  10. dot com过时了,个性域名“钱”景看好
  11. 信捷触摸屏UI模板XINJIE UI信捷触摸屏界面模板
  12. 32位计算机怎么安装ps,ps怎么安装到电脑上(免费教你安装ps)
  13. 如何将kotlin数组转为java的可变参数...
  14. 查询数据库重复记录方法
  15. 用5v1a的充电器给1.2v的镍氢电池充电(充满后可自动断电)或者可以定时
  16. Cesium开发:地下模式效果
  17. 写好网站建设推广文章很重要呀
  18. 电费充值api系统接口 支持国家电网
  19. 利用gplaycli下载apk
  20. 获取URL中的链接(可中文也可英文)

热门文章

  1. 什么是BOM?BOM和DOM的区别
  2. opencv 叠加文字_利用opencv为视频添加动态字幕
  3. python判断闰年程序_python实现闰年
  4. 推荐好用的两个搜索下载书籍网站
  5. gateway中的局部过滤器_SpringCloud系列Gateway:过滤器总结
  6. 解决后台传入的大于js最大数值精度的问题
  7. FLOPS和FLOPs、GFLOPs区别与计算
  8. 单片机引脚与端口,引脚和GPIO的区别
  9. android手机版excel怎样填充序列号,规范日期数据的极简法。Excel填充功能快速填充序号操作详解。如何制作工作日序列号填充,快速填充功能无法使用...
  10. C# datagridview / datatable 导出带表头的excel的数据