sql练习
theodorewy
这个作者很懒,什么都没留下…
展开
-
牛客sql练习 -84
描述分组计数每日简历总数考点日期范围限定:BETWEN AND 最快in 数字比 in 字符 快SELECT job, SUM(num) cntFROM resume_info# 最快WHERE date BETWEEN '2025-01-01' AND '2025-12-31'# 直接写数字会比字符执行快# WHERE year(date) = 2025# WHERE year(date) = ‘2025’GROUP BY jobORDER BY cnt DESC;原创 2021-07-04 20:20:22 · 135 阅读 · 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 · 153 阅读 · 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 · 178 阅读 · 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) aWHERE DATEDIFF(date,f原创 2021-07-01 22:55:58 · 141 阅读 · 0 评论 -
牛客sql练习 - 60
描述求salary的累计和running_totalCREATE 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 · 140 阅读 · 0 评论 -
牛客sql练习 - 51
考点length 和 replace 的用法select length('10,A,B') -length(replace('10,A,B',",",""))# hive sqlSELECT size(split('10,A,B', ',')) - 1 ;原创 2021-06-14 00:11:01 · 125 阅读 · 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 · 120 阅读 · 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 · 126 阅读 · 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 · 124 阅读 · 0 评论