注释:查询该课程表下,所有的课程以及课程观看的人数统计

SELECT ml.`name` as lessonName,ml.category,ml.deleted,ml.teacherName,
ml.id,ml.liveId,ml.selected,mlc.channelId,p.viewNums,count(*) as totalNum
from mlk_live_channel AS ml
LEFT JOIN mlk_lesson_channel AS mlc ON mlc.lessonId = ml.id
LEFT JOIN mlk_live_channel AS mcl ON mcl.id = mlc.channelId
LEFT JOIN
(SELECT mpr.liveId,mpr.memberId,COUNT(mpr.liveId) as viewNums FROM mlk_payment_record AS mpr
WHERE mpr.payType = 3 AND mpr.notify = 1 GROUP BY mpr.liveId) AS p
ON p.liveId = mcl.liveId
WHERE ml.deleted = 0 AND ml.category = 1
GROUP BY ml.id
ORDER BY ml.create_time
  $connection = $this->db;
$sql = "SELECT ml.name as lessonName,ml.category,ml.deleted,ml.teacherName,ml.banner,
ml.id,ml.liveId,ml.selected,mlc.channelId,p.viewNums,count(mlc.lessonId) as totalLesson
from mlk_live_channel AS ml
LEFT JOIN mlk_lesson_channel AS mlc ON mlc.lessonId = ml.id
LEFT JOIN mlk_live_channel AS mcl ON mcl.id = mlc.channelId
LEFT JOIN
(SELECT mpr.liveId,mpr.memberId,COUNT(mpr.liveId) as viewNums FROM mlk_payment_record AS mpr
WHERE mpr.payType = 3 AND mpr.notify = 1 GROUP BY mpr.liveId) AS p
ON p.liveId = mcl.liveId
WHERE ml.deleted = 0 AND ml.category = 1
GROUP BY ml.id
ORDER BY ml.create_time";
$totals = $connection->fetchAll($sql);
$this->view->setVar('channles', $totals);
SELECT ml.`name` as lessonName,ml.category,ml.deleted,ml.teacherName,mlc.channelId,ml.liveId,ml.banner,
ml.id,ml.selected,mlc.channelId,SUM(p.viewNums) as totalViews,COUNT(mlc.lessonId) AS totalLesson
from mlk_live_channel AS ml
LEFT JOIN mlk_lesson_channel AS mlc ON mlc.lessonId = ml.id
LEFT JOIN
(SELECT mlc.id,mlc.liveid,count(DISTINCT mpr.memberId) as viewNums
FROM mlk_live_channel AS mlc
LEFT JOIN mlk_payment_record AS mpr ON mpr.liveId = mlc.liveId
WHERE mlc.deleted = 0 and mlc.category = 2 AND mpr.payType = 4
GROUP BY mlc.liveId ) AS p
ON p.id = mlc.channelId
WHERE ml.deleted = 0 AND ml.category = 1
GROUP BY ml.id
HAVING SUM(p.viewNums)>0

历史SQL语句之一的更多相关文章

  1. pl/sql developer 快捷操作: 显示不可见字符 显示历史sql语句 拷贝整个sql窗口的语句至新的sql窗口

    pl/sql developer 快捷操作: 显示不可见字符 显示历史sql语句 拷贝整个sql窗口的语句至新的sql窗口 显示不可见字符:可以把空格.回车显示出来: 显示历史sql语句:ctrl+e ...

  2. 如何查看 SQL Server 执行的历史 SQL 语句记录?

    SELECT st.text as sql_statement, qs.creation_time as plan_last_compiled, qs.last_execution_time as p ...

  3. 通过SID查找历史执行的SQL语句

    这次某系统发生严重的阻塞,但是去查顶级会话,发现已经没有该对应的sql_id了,于是我们只用通过 v$active_session_history 视图来寻找.下面是查找的过程: 1.查找顶层ASH历 ...

  4. 个人永久性免费-Excel催化剂功能第21波-Excel与Sqlserver零门槛交互-执行SQL语句篇

    在前两波中,已完成了Excel与Sqlserver的查询和上传功能,但难免许多临时的或更深入地操作数据库需要用Sql语句来操作,对一般用户电脑里,不可能有条件轻易安装一个数据库客户端软件,就算安装了对 ...

  5. 巧用DISPLAY_AWR函数与dba_hist_sqlstat结合查询SQL语句在指定节点指定时间范围内的历史执行计划

    1.问题        通过调用dbms_xplan包中DISPLAY_AWR函数(DBMS_XPLAN.DISPLAY_AWR)可以从AWR数据中查看到SQL语句的历史执行计划,但是,DISPLAY ...

  6. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  7. SQL语句优化(转载)

    一.操作符优化 1.IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用 ...

  8. 如何用ORM支持SQL语句的CASE WHEN?

    OQL如何支持CASE WHEN? 今天,一个朋友问我,OQL可否支持CASE WHEN语句?他给的示例SQL如下: then '启用' else '停用' from tb_User OQL是SOD框 ...

  9. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

随机推荐

  1. git同步远程已删除的分支和删除本地多余的分支

    使用 git branch -a 可以查看本地分支和远程分支情况 但远程分支(红色部分)删除后,发现本地并没有同步过来. 一. 同步本地的远程分支 查看本地分支和追踪情况: git remote sh ...

  2. ViewHolder模式的简洁写法

    大家通常怎么写ViewHolder呢? ViewHolder holder = null; if(convertView == null){ convertView = mInflater.infla ...

  3. 深度分析Java的枚举类型—-枚举的线程安全性及序列化问题

    原文:深度分析Java的枚举类型--枚举的线程安全性及序列化问题 枚举是如何保证线程安全的 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和clas ...

  4. FLAG区

    以下是一些flag(倒了我也不会怎么样): 更博客(对不起 您呼叫的flag是空号 请稍后再拨) CTS/APIO2019 Cu+ NOI2019 Ag+

  5. NOIp2018 复习笔记

    其实也没什么用啦,只是来占个坑 OI知识 3367 [模板]并查集 就这么做啊 没什么其他的 就是可以做tarjan LCA和Kruskal的操作 //关键函数 int getfa(int t) { ...

  6. [JLOI2014]聪明的燕姿(搜索)

    城市中人们总是拿着号码牌,不停寻找,不断匹配,可是谁也不知道自己等的那个人是谁. 可是燕姿不一样,燕姿知道自己等的人是谁,因为燕姿数学学得好!燕姿发现了一个神奇的算法:假设自己的号码牌上写着数字 S, ...

  7. LVS搭建负载均衡(一)NAT模型

    应用场景:LVS配置负载均衡方式之一:nat 测试环境: 测试步骤: 1. 在主机lvs上安装ipvsadm lvs~]# yum install ipvsadm -y lvs~]# ipvsadm ...

  8. Dubbo x Cloud Native 服务架构长文总结(很全)

    Dubbo x Cloud Native 服务架构长文总结(很全) mercyblitz SpringForAll社区 3天前 分享简介 Cloud Native 应用架构随着云技术的发展受到业界特别 ...

  9. java 连接数组

    一,使用Apache Commons的ArrayUtils Apache Commons类库有很多,几乎大多数的开源框架都依赖于它,Commons中的工具会节省你大部分时间,它包含一些常用的静态方法和 ...

  10. LOJ#2306 蔬菜

    补充一个题意不太清楚的地方:蔬菜坏掉是假设蔬菜都有标号,那么特定标号的蔬菜就会在特定时间坏掉.如果你及时卖了它们,那么那一天就不会有新的蔬菜坏掉. 结论1:如果我们知道了k天的答案,那么我们直接扔掉若 ...