首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    「求职」7道数据分析面试题,涵盖80%常考知识点『SQL篇』

    00 原始表介绍 以下面试题背景为电商类消费场景,其中包含「用户表」和「购物消费流水表」两张。...ubs_user_profile_di where ds = '20220501' group by age having uv > 10000 order by uv desc...where ds = '20220501' )tmp where rank = 1 group by category_first order by uv desc...输出样式: 考核代码: select uid ,ds as first_sales_day ,ds_next as second_sales_day ,datediff...08 注意事项 最后和大家谈谈针对面试中遇到的SQL问题的关注点: 由于是面试,面试官重点关注的是思路,因此在忘记某些函数的情况下,可以将思路输出给面试官,函数是工具,可以随时查询,而思路才是你掌握这个知识的关键

    1.1K21

    MySQL中的DATEDIFF()、PERIOD_DIFF()和TIMESTAMPDIFF()函数使用

    DATEDIFF() 函数返回两个日期之间的天数 用法:DATEDIFF(date1,date2) date1 和 date2 参数是合法的日期或日期/时间表达式。...注意:只有值的日期部分参与计算,具体的时间不参与计算,计算两个日期之间的天数要用DATEDIFF不能用period_diff 案例: SELECT DATEDIFF('2021-10-01','2021...SELECT DATEDIFF('2021-09-30','2021-10-01') AS DiffDate ----->-1 SELECT DATEDIFF('2021-09-30 00:00:00...date_format(create_time, '%Y%m%d' )) =1 PERIOD_DIFF()函数返回两个日期之间的月份数 用法:PERIOD_DIFF(date1,date2) date1 和...TIMESTAMPDIFF() 更加强大,可计算年,月等 用法:TIMESTAMPDIFF(unit,begin,end); TIMESTAMPDIFF函数返回end-begin的结果,其中begin和end

    2.2K20

    MySQL数据库基础查询语句笔记

    ORDER BY 列名 [ASC | DESC]; #升序加ASC,降序加DESC SELECT empno,ename,sal,deptno FROM t_emp ORDER BY sal;#升序 SELECT...empno,ename,sal,deptno FROM t_emp ORDER BY sal DESC;#降序 ASC代表升序(默认),DESC代表降序。...只不过视频中的数据在同时选择job和ename时,没有job和ename都相同的行,所以看起来像是没有做去重,像是“去重失效了”,实际上并没有失效,只是确实没有重复而已。...来解决 SELECT empno,sal,ename,hiredate FROM t_emp WHERE deptno=10 AND (sal+IFNULL(comm,0))*12>=15000 AND DATEDIFF...(NOW(),hiredate)/365>=20; DATEDIFF(第一个日期,第二个日期)可以返回第一个日期减去第二个日期的天数 NOW()获取当前日期和时间 比较运算符 MySQL IN运算符简介

    4.6K50

    SQL Server常用Sql语句

    连接 例:check(电话like o-9 0-9 0-9)--电话号码由每一位都由0-9组成 删除检查约束: Alter table 表名 Drop constraint 约束名 通过check 和nocheck...percent * from student –查询表中前10%的记录 25.条件查询语句 Select 字段列表 Into 新表名 from 表名列表  where 查询条件 注释:新表是不存在的,新表的列和行是基于查询结果的...年龄=datediff(YEAR,出生时间,getdate()) from 数据表 Where datediff(YEAR,生出时间,getdate())<20 and 性别=’女’ * 查找属性值在...(或不在)指定范围内的元组: 例 :select 姓名,性别,年龄=datediff(YEAR,出生时间,getdate()) from 数据表 Where datediff(YEAR,生出时间,getdate...Where 列名 =’值’ order by 给定条件列 [asc/desc] 注释:asc:升序    desc:降序 28.集合函数(对查询结果得到的数据集进行汇总或求平均值等各种运算) SQL server

    7.5K46

    告别嵌套子查询!MySQL窗口函数让报表统计效率提升80%(附避坑)

    基础语法 函数名([参数]) OVER ( [PARTITION BY 分组列] -- 可选,按指定列分组(类似GROUP BY,但不合并行) [ORDER BY 排序列 [ASC/DESC...hire_date, 1) OVER (PARTITION BY dept_name ORDER BY hire_date) AS prev_hire_date, -- 计算时间差(天) DATEDIFF...累计求和变成全表总和 SELECT month, amount, SUM(amount) OVER () AS total_amount FROM sales; 正例: -- 正确:显式指定ORDER BY和窗口框架...month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS total_amount FROM sales; 坑3:混淆PARTITION BY和GROUP..., 用PARTITION BY(窗口函数) 只需分组聚合结果,用GROUP BY(聚合函数) 坑4:窗口函数中使用聚合函数,未处理NULL值 现象:LAG/LEAD函数返回NULL,导致计算(如DATEDIFF

    84511

    Mysql 常用指令总结

    drop table tbale 删除表 drop databases if exists shop; 如果shop 存在,则删除,否则报错 查看数据库结构 show databases; 查看表结构 desc...查找shop表中price不在20 30 这个范围 ​ Mysql 对Null 的处理 select name,if(age,age,'没有数据') from shop; 查找shop表中name和age...字段的数据,当age为空时, 显示 ‘没有数据’,有数据则为age 排序 order by order by 字段 asc asc 从小到大 desc 从大到小 ​ ​ select age,name...from student order by age asc; 查找student表中,按年龄从小到大输出age和name的数据。...将时间转为秒 SEC_TO_TIME(seconds) 将秒转为时间 addTime(now(),'08:00:00') ----> 在现在的时间上加8个小时 日期与实践差值计算 -- 计算日期的差值 DATEDIFF

    1.1K00

    MYSQL从入门到入土(mysql基础概览)

    前言:我们在javaWeb的学习中已经接触到了数据库的相关知识和操作,这篇对重点知识进行汇总,为后面的数据库进阶打好基础。...DQL 编写顺序: SELECT [列名|表达式|*] FROM [表名] [WHERE 条件] [GROUP BY 分组列] [HAVING 分组后条件] [ORDER BY 排序列 [ASC...; -- 按入职日期降序 -- 多列排序 SELECT * FROM employees ORDER BY department_id ASC, salary DESC; -- 先按部门升序,再按工资降序...                       获取指定date的日期 DATE_ ADD(date, INTERVAL expr type): 返回一个日期/时间值加上一个时间间隔expr后的时间 DATEDIFF...(datel,date2)  :返回起始时间date1和结束时间date2之间的天数 流程函数 流程函数也是很常用的一类函数,可以在SQL语句中实现条件筛选,从而提高语句的效率。

    40410
    领券