mysql5.5根据条件进行排序查询 TP5
2024-09-03 18:46:56
用到了 order by if 和 count
使用的是TP5.0
$sql = Db::name('teacher')
->alias('t')
->join('user u', 'u.user_id = t.user_id')
->join('tiwen tw', 'tw.teacher_user_id = u.user_id', 'left')
->field([
't.*',
'count(if(tw.is_pingjia = 1, 1, NULL)) nu'
])
->group('u.user_id')
->order('count(if(tw.is_pingjia = 1, 1, null)) desc, count(tw.tiwen_id) desc')
->buildSql(true);
打印出语句为
SELECT `t`.*,count(if(tw.is_pingjia = 1, 1, NULL)) nu FROM `yed_teacher` `t` INNER
JOIN `yed_user` `u` ON `u`.`user_id`=`t`.`user_id` LEFT JOIN `yed_tiwen` `tw` ON `tw`.`teacher_user_id`=`u`.`user_id`
GROUP BY `u`.`user_id` ORDER BY count(if(tw.is_pingjia = 1, 1, 0)) desc, count(tw.tiwen_id) desc
上述为查询讲师的回答学员提问评价满意数进行排序,其次根据回答学员提问数进行排序,包含回答数为0的讲师
最新文章
- pdo 整套类的封装,保存修改查询
- Java包装类
- Python开发程序:简单主机批量管理工具
- CC2541连接BTool教程
- WPF:保存窗口当前状态截图方法
- 企业门户(Portal)项目实施方略与开发指南
- JMeter分布式性能测试
- mysql update语句
- 使用 PyCrypto 进行 AES/ECB/PKCS#5(7) 加密
- 1!到n!的和
- Wireshark抓包介绍和TCP三次握手分析
- Spring Boot框架的搭建
- Spring写第一个应用程序
- php表单提交并发送邮件给某个邮箱(示例源码)
- [Abp 源码分析]十三、多语言(本地化)处理
- Visual Studio 2015 update 3各版本下载地址
- 关键字super和this的使用及区别
- asp.net 用JWT来实现token以此取代Session
- AllPay(欧付宝)支付接口集成
- Spark学习笔记5:Spark集群架构