用到了 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的讲师

最新文章

  1. pdo 整套类的封装,保存修改查询
  2. Java包装类
  3. Python开发程序:简单主机批量管理工具
  4. CC2541连接BTool教程
  5. WPF:保存窗口当前状态截图方法
  6. 企业门户(Portal)项目实施方略与开发指南
  7. JMeter分布式性能测试
  8. mysql update语句
  9. 使用 PyCrypto 进行 AES/ECB/PKCS#5(7) 加密
  10. 1!到n!的和
  11. Wireshark抓包介绍和TCP三次握手分析
  12. Spring Boot框架的搭建
  13. Spring写第一个应用程序
  14. php表单提交并发送邮件给某个邮箱(示例源码)
  15. [Abp 源码分析]十三、多语言(本地化)处理
  16. Visual Studio 2015 update 3各版本下载地址
  17. 关键字super和this的使用及区别
  18. asp.net 用JWT来实现token以此取代Session
  19. AllPay(欧付宝)支付接口集成
  20. Spark学习笔记5:Spark集群架构

热门文章

  1. 21JavaScript笔记(1)
  2. Python3实现Two-Pass算法检测区域连通性
  3. 【笔记】numpy.array的常用基本运算以及对数据的操作
  4. 浅析Java断言
  5. Windows内核-7-(IRP)I/O请求包
  6. javaWeb之Maven
  7. python初始化定义空变量-小记
  8. cad转换成png,svg
  9. Jpa-操作mongodb
  10. spring生命周期的应用