历史SQL语句之一

简介: 注释:查询该课程表下,所有的课程以及课程观看的人数统计 SELECT ml.`name` as lessonName,ml.category,ml.deleted,ml.teacherName, ml.

 

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

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 XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
793 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
11月前
|
SQL Java 数据库连接
如何在 Java 代码中使用 JSqlParser 解析复杂的 SQL 语句?
大家好,我是 V 哥。JSqlParser 是一个用于解析 SQL 语句的 Java 库,可将 SQL 解析为 Java 对象树,支持多种 SQL 类型(如 `SELECT`、`INSERT` 等)。它适用于 SQL 分析、修改、生成和验证等场景。通过 Maven 或 Gradle 安装后,可以方便地在 Java 代码中使用。
3366 11
|
SQL 存储 缓存
一文搞懂MySQL中一条SQL语句是如何执行的
一文搞懂MySQL中一条SQL语句是如何执行的
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
274 0
|
SQL 存储 关系型数据库
MySQL的第一篇文章——了解数据库、简单的SQL语句
MySQL的第一篇文章——了解数据库、简单的SQL语句
|
SQL Python
Pandas与SQL的数据操作语句对照
Pandas与SQL的数据操作语句对照
305 0
Pandas与SQL的数据操作语句对照
|
SQL 程序员 开发工具
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
801 0
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
|
SQL 数据库 数据安全/隐私保护
使用SQL语句 查询电话号码 加密显示
使用SQL语句 查询电话号码 加密显示
483 0
使用SQL语句 查询电话号码 加密显示
|
SQL 存储 安全
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率