【sqlintern】实战模拟SQL练习

1.数分SQL必知必会

1.1 字符串与逻辑运算执行顺序

题目
假设你是美团用户运营组的同学,计划在9月份给用户预热推送’十一旅游优惠团券’。
请找出2021年8月,在休闲娱乐或餐饮分类下,单笔消费金额超过(含)900元的用户共有多少人?
在这里插入图片描述
思路
计数:用户数

条件过滤:
(1)时间:2021年8月
(2)类型:休闲娱乐或餐饮
(3)单笔消费金额超过(含)900元

tips:
in ( <集合数据> )
name in (‘France’, ‘Germany’, ‘Italy’)
等同于
name =‘France’ or name =‘Germany’ or name =‘Italy’

答案

select count(distinct usr_id) 
from trx_rcd
where 
substr(trx_time,1,7)='2021-08'
and mch_typ in('休闲娱乐' ,'餐饮' )
and trx_amt>=900

1.2 星期函数的运用

题目
现有一张用户登录表,请问DAU高峰和低谷分别是周几?
在这里插入图片描述
思路
DAU是指当日活跃用户数
聚合计数:
计算数据库所有日期内,周一到周日的登录人数

答案

select 
	weekday(load_dt) as '星期'
	, count(usr_id) as 'DAU'
from 
	td_load_rcd 
group by weekday(load_dt)
order by 'DAU' desc

1.3 剔重的场景

题目
现有一张用户登录表,请统计MAU(月活跃用户数)趋势。以下说法错误的是:
在这里插入图片描述
思路
与上一题类似
且MAU(月活跃用户数)需要剔重

答案

select 
	substr(load_dt,1,7) as '月份'
	, count(distinct usr_id) 
from 
	td_load_rcd 
group by substr(load_dt,1,7)

2.条件过滤

2.1 多条件判断

题目
请找出2021年国庆或2022年元旦假期期间,单笔交易金额超过10000元的所有客户。
在这里插入图片描述
思路
条件1:时间上在2021年国庆2022年元旦期间(日期格式可以直接判断)
条件2:金额上,单笔交易金额超过10000元

答案

select * 
from trx_rcd 
where 
(trx_time between '2022-01-01' and '2022-01-03' or (trx_time between '2021-10-01' and '2021-10-07'))
and trx_amt>10000

3.聚合函数与数学运算

3.1

题目
惠州金爵大酒店在哪一天迎来了首位客人
在这里插入图片描述
思路

答案

select min(trx_time)
from trx_rcd 
where mch_nm='惠州金爵大酒店'

拓展题目
惠州金爵大酒店除了第一天,后面有客人的日期

**题目**
select *
from
trx_rcd
where trx_time>(select min(trx_time)
from trx_rcd 
where mch_nm='惠州金爵大酒店') 
and mch_nm='惠州金爵大酒店'
order by trx_time
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于SQL练习书籍推荐,以下是一些值得推荐的选择: 1. 《SQL必知必会》:这本书是一本非常实用的SQL入门书籍,它涵盖了SQL的基本概念和语法,适合初学者。 2. 《SQL查询的艺术》:这本书是一本非常实用的SQL查询技巧和方法的书籍,它提供了许多实用的查询技巧和示例,可以帮助读者更好地理解和应用SQL。 3. 《SQL权威指南》:这本书是一本非常全面的SQL书籍,它涵盖了SQL的各个方面,包括数据定义、数据查询、数据操纵、数据定义语言等。 4. 《数据库系统概念(第8版)》中的SQL部分:这本书是一本经典的数据库系统教材,它的SQL部分涵盖了SQL的基础知识、查询、数据操纵、视图、索引等方面的内容。 5. 《SQL性能优化实战》:这本书是一本非常实用的SQL性能优化书籍,它提供了许多实用的技巧和示例,可以帮助读者提高SQL查询的性能和效率。 对于SQL练习,你可以尝试以下方法: 1. 编写SQL查询:尝试编写各种类型的SQL查询,包括数据定义、数据查询、数据操纵等。这将帮助你更好地理解和应用SQL语法和语义。 2. 参考书籍和教程:参考相关的书籍和在线教程,了解SQL的各个方面,包括数据类型、运算符、函数、查询优化等。 3. 完成在线练习题:许多在线资源提供了SQL练习题,你可以尝试完成这些题目,以巩固所学知识。 4. 参与社区和论坛:参与相关的社区和论坛,与其他SQL爱好者交流和学习,分享经验和技巧。 总之,以上书籍和练习方法可以帮助你更好地学习和掌握SQL知识。希望这些信息对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值