sql练习
theodorewy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
牛客sql练习 -84
描述 分组计数每日简历总数 考点 日期范围限定: BETWEN AND 最快 in 数字比 in 字符 快 SELECT job, SUM(num) cnt FROM resume_info # 最快 WHERE date BETWEEN '2025-01-01' AND '2025-12-31' # 直接写数字会比字符执行快 # WHERE year(date) = 2025 # WHERE year(date) = ‘2025’ GROUP BY job ORDER BY cnt DESC;原创 2021-07-04 20:20:22 · 190 阅读 · 0 评论 -
牛客sql练习 - 71
描述 牛客每天有很多人登录,请你统计一下牛客每个日期新用户的次日留存率 drop table if exists login; CREATE TABLE `login` ( `id` int(4) NOT NULL, `user_id` int(4) NOT NULL, `client_id` int(4) NOT NULL, `date` date NOT NULL, PRIMARY KEY (`id`)); INSERT INTO login VALUES (1,2,1,'2020-10-12')原创 2021-07-04 13:43:55 · 200 阅读 · 0 评论 -
牛客sql练习 - 69
描述 牛客每天有很多人登录,请你统计一下牛客每个日期登录新用户个数 drop table if exists login; CREATE TABLE `login` ( `id` int(4) NOT NULL, `user_id` int(4) NOT NULL, `client_id` int(4) NOT NULL, `date` date NOT NULL, PRIMARY KEY (`id`)); 考点 分组计数除了用count group by也可以用 sum(case ) # 对满足原创 2021-07-03 19:04:52 · 221 阅读 · 0 评论 -
牛客sql练习 - 68
描述 牛客每天有很多人登录,请你统计一下牛客新登录用户的次日成功的留存率 考点 次日留存率 = 次日留存用户数/用户数 次日留存用户 = 首次登陆后第二天继续登陆的用户 SELECT COUNT(DISTINCT a.user_id)/(SELECT COUNT(DISTINCT user_id) FROM login) (SELECT *,MIN(date) OVER(PATITION user_id) first_day FROM login) a WHERE DATEDIFF(date,f原创 2021-07-01 22:55:58 · 187 阅读 · 0 评论 -
牛客sql练习 - 60
描述 求salary的累计和running_total CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` int(11) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`from_date`)); 考点 把sum聚合函数作为窗口函数使用 SELECT emp_no, salary SUM(salary原创 2021-06-23 00:12:05 · 178 阅读 · 0 评论 -
牛客sql练习 - 51
考点 length 和 replace 的用法 select length('10,A,B') -length(replace('10,A,B',",","")) # hive sql SELECT size(split('10,A,B', ',')) - 1 ;原创 2021-06-14 00:11:01 · 183 阅读 · 0 评论 -
牛客sql练习-50
描述 将employees表中的所有员工的last_name和first_name通过(’)连接起来。 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `hire_date` date NOT NUL原创 2021-06-14 00:06:49 · 159 阅读 · 0 评论 -
牛客sql练习-48
描述 请你写出更新语句,将所有获取奖金的员工当前的(salaries.to_date=‘9999-01-01’)薪水增加10%。 注:emp_bonus里面的emp_no都是当前获奖的所有员工 create table emp_bonus( emp_no int not null, btype smallint not null); # why 建表语句不一样 CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` int(11) NO原创 2021-06-13 23:56:15 · 167 阅读 · 0 评论 -
牛客sql练习-46
描述 在audit表上创建外键约束,其emp_no对应employees_test表的主键id。(以下2个表已经创建了) CREATE TABLE employees_test( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL ); CREATE TABLE audit( EMP_no INT NOT NULL, create_date datetime N原创 2021-06-13 23:55:40 · 168 阅读 · 0 评论
分享