题解 | #筛选限定昵称成就值活跃日期的用户#

筛选限定昵称成就值活跃日期的用户

http://www.nowcoder.com/practice/2ed07ff8f67a474d90523b88402e401b

一、知识总结拓展&答案

1、知识点总结与拓展

1)字符串截取
  • 从左边截取字符串:left(字段名,n) 从左边第n个开始取到最右边
  • 从右边截取字符串:right(字段名,n)从右边地n个开始取到最左边
  • 从中间开始截取字符串:substring(字段名,n,m)从左边第n个开始取m个
2)条件
  • 或:(A OR B)-- 要用括号
  • 与:A  AND B
  • 非:<>

2、完整代码

SELECT uid,nick_name,achievement
FROM user_info 
WHERE left(nick_name,2)='牛客'AND RIGHT(nick_name,1)='号' #左边开头两个字符是‘牛客',右边结尾1个字符是‘号’。
AND achievement BETWEEN 1200 AND 2500 #成就值在1200~2500之间
AND uid in(
	SELECT uid FROM exam_record GROUP BY uid HAVING MAX(DATE_FORMAT(start_time,'%Y%m'))='202109' #最后依次活跃的答卷日期是2021年9月的用户
	UNION ALL
	SELECT uid com_time FROM practice_record GROUP BY uid HAVING MAX(DATE_FORMAT(submit_time,'%Y%m'))='202109'  #最后依次活跃的答题目日期是2021年9月的用户
);/*最近一次活跃(答题或作答试卷)在2021年9月的用户*/

SQL解题集 文章被收录于专栏

这是牛客SQL相关的解题集

全部评论
我有两个问题--*-- 1.com_time是什么呀 2.为啥是union all,不该是union吗,要去重
点赞 回复 分享
发布于 2022-09-23 21:28 北京

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
9
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务