复杂SQL案例:用户听课情况查询
供参考:
select
h.course_id,
h.course_type,
i.course_title,
r.id res_id,
r.res_title,
h.user_id,
u.user_full_name user_name,u.phone,
round(d.living_duration/60,1) living_duration,round(d.record_duration/60,1) record_duration,
h.done_time,
(case when h.listen_status='1' then '已打卡' else '' end) listen_status,
d.create_time,d.update_time
from
(
-- 作业:用course_type关联course_id
select h.user_id,h.listen_status,h.score,h.done_time,c.course_id,c.course_type
from app_user.class_hwork_info h left join app_user.class_info c on h.course_type=c.course_type
-- where h.user_id in(xxx) and h.course_type=xxx ) h
left join
(
-- 作业:用日期关联res_id
select cx.course_id,cx.res_date done_time,res.res_id res_id
from app_user.cxkt_res_date cx left join app_goods.course_info_res res on cx.course_info_res_id=res.id
where cx.course_info_res_id>0
) c on h.course_id=c.course_id and h.done_time=c.done_time
left join
(
select user_id,course_id,res_id,concat(res_id,'-',rel_id) all_res_id,living_duration,record_duration,create_time,update_time
from bi_data.user_study_rel_duration_
) d on h.course_id=d.course_id and h.user_id=d.user_id and c.res_id=d.res_id
left join app_goods.course_info i on h.course_id=i.id
left join app_goods.course_res r on c.res_id=r.id
left join app_user.user_info u on h.user_id=u.id
复杂SQL案例:用户听课情况查询的更多相关文章
- 六、SQL语句进行多条件查询,并解决参数为空的情况
一.SQL语句进行多条件查询,并解决参数为空的情况 QueryEntity query; var whereSql = new StringBuilder("Where 1=1") ...
- 多条件情况查询,sql select case when when else
多条件情况查询 SELECT Title, 'Price Range' = CASE WHEN price IS NULL THEN 'Unpriced' ...
- Sql Server来龙去脉系列之三 查询过程跟踪
我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更 ...
- Mysql_以案例为基准之查询
查询数据操作
- 性能测试四十一:sql案例之慢sql配置、执行计划和索引
MYSQL 慢查询使用方法MYSQL慢查询介绍分析MySQL语句查询性能的问题时候,可以在MySQL记录中查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”.MYSQL自带的慢查 ...
- 实战课堂 | DMS企业版教你用一条SQL搞定跨实例查询
背景 数据管理DMS企业版提供了安全.高效地管理大规模数据库的服务.面对多元的数据库实例,为了更方便地查询被“散落”在各个地方的业务数据,我们在DMS企业版中提供了跨数据库实例查询服务. 什么是跨实例 ...
- SQL SERVER中什么情况会导致索引查找变成索引扫描
SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方面结合上下文具体场景做了下测试.总结.归纳. 1:隐式转换会导致 ...
- SQL Serever学习9——基础查询语句
SQL语言概述 SQL是结构化查询语言(Structure Query Language),1974年提出,1979年被IBM实现,SQL语言已经成为关系型数据库的标准语言. 包括: DDL数据定义语 ...
- (数据科学学习手册28)SQL server 2012中的查询语句汇总
一.简介 数据库管理系统(DBMS)最重要的功能就是提供数据查询,即用户根据实际需求对数据进行筛选,并以特定形式进行显示.在Microsoft SQL Serve 2012 中,可以使用通用的SELE ...
随机推荐
- P6585 中子衰变
我们偶数的时候只要对称操作. 奇数的话,我们定义\(1\)的相反数为\(-1\),\(0\)相反数为\(0\). 我们维护最长的两边的相反串,中间一段除了一个端点,其他均被染成同色. 那么如果对方染端 ...
- Shell 变量嵌套
实现:eval 1 a="indv1" 2 indv1="Sus1" 3 4 eval tmp='$'$a 5 echo $tmp //这里 echo 返回值为 ...
- 68-Binary Tree Postorder Traversal
Binary Tree Postorder Traversal My Submissions QuestionEditorial Solution Total Accepted: 97358 Tota ...
- jquery时间轴tab切换效果实现结合swiper实现滑动显示效果
需求:根据时间轴进行tab页面内容切换(时间轴需要滑动查看并选择) 实现思路: 结合swiper插件实现滑动显示效果 根据transform: translateX进行左侧切换效果的实现(具体实现cs ...
- 自动化测试系列(二)|API测试
在上次的自动化测试系列(一)中为大家大体介绍了自动化测试的概念,本文主要针对API测试的概念及API测试在猪齿鱼Choerodon中的实践展开. API(应用程序编程接口)测试是一种软件测试,可以直接 ...
- C++ 中的多重继承的问题
如何正确使用C++多重继承 BY R12F · PUBLISHED 2011年06月17日 · UPDATED 2012年03月11日 原创文章,转载请注明:转载自Soul Apogee本文链接地 ...
- Navicat连接Linux系统下的Mysql数据库
1 . 进入Linux机器 , 登录并进入mysql如果没有安装mysql,参照 https://blog.csdn.net/weixin_35353187/article/details/81712 ...
- Hive(五)【DQL数据查询】
目录 一. 基本查询 1.1 算数运算符 1.2 常用聚合函数 1.3 limit 1.4 where 1.5 比较运算符(between|in|is null) 1.6 LIKE和RLIKE 1.7 ...
- electron搭建开发环境
环境:windons10, nodev14.17.1, vscode md a_star cd a_star npm i -g yarn yarn config set ELECTRON_MIRROR ...
- Linux基础命令---mirror获取ftp目录
mirror 使用lftp登录ftp服务器之后,可以使用mirror指令从服务器获取目录 1.语法 mirror [OPTS] [source [target]] 2.选项列表 选 ...