首页
学习
活动
专区
圈层
工具
发布

最强最全面的大数据SQL面试题和答案(由31位大佬共同协作完成)

十四、业务逻辑的分类与抽象--时效 十五、时间序列--进度及剩余 十六、时间序列--构造日期 十七、时间序列--构造累积日期 十八、时间序列--构造连续日期 十九、时间序列--取多个字段最新的值 二十...、时间序列--补全数据 二十一、时间序列--取最新完成状态的前一个状态 二十二、非等值连接--范围匹配 二十三、非等值连接--最近匹配 二十四、N指标--累计去重 一、行列转换 描述:表中记录了各年份各部门的平均绩效考核成绩...分组按b字段排序,对c取平均值 问题描述:前一行与当前行的均值!...就是从每月1号到月底,不管这个月有30天,31天,29天或者28天,都算是一个自然月。...,'yyyy-MM-dd')))), '')) t as pos, val; 十八、时间序列--构造连续日期 表名:t18 表字段及内容: a b c 101

6.3K30

了解一下ISO 8601是什么

with offset to UTC,UTC偏移的本地时 Date and time,日期和时间 Time intervals,时间间隔 Recurring time intervals,重复时间间隔...,找了一些旧的标准原则,虽然不是最新的,但是原则上,应该比较相近,只是大概了解下,如果要精确的标准定义,建议还是找最新的文档, 日期和时间值按从最大到最小的时间单位排序:年,月(或周),日,小时,分钟...因此,表示的字典顺序对应于时间顺序,除了涉及负年份的日期表示。这允许日期自然地由例如文件系统排序。 每个日期和时间值都有一个固定的位数,必须用前导零填充。...所以基本上UTC的本质强调的是比GMT更为精确的世界时间标准,不过对于现行表款来说,GMT与UTC的功能与精确度是没有差别的。...("yyyy-MM-dd HH:mm:ss").parse(datestr2); Date date3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")

9.4K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL和Oracle区别

    日期字段的处理            MYSQL日期字段分DATE和TIME两种,ORACLE日期字段只有DATE,包含年月日时分秒信息,用当前数据库的系统时间为SYSDATE, 精确到秒,或者用字符串转换成日期型函数...MYSQL找到离当前时间7天用 DATE_FIELD_NAME > SUBDATE(NOW(),INTERVAL 7 DAY)ORACLE找到离当前时间7天用 DATE_FIELD_NAME >SYSDATE...DATATIME 日期字段的处理 MYSQL日期字段分DATE和TIME两种,ORACLE日期字段只有DATE,包含年月日时分秒信息,用当前数据库的系统时间为 SYSDATE, 精确到秒,或者用字符串转换成日期型函数...MYSQL找到离当前时间7天用DATE_FIELD_NAME > SUBDATE(NOW(),INTERVAL 7 DAY)ORACLE找到离当前时间7天用 DATE_FIELD_NAME >SYSDATE...CURDATE()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。

    4.2K30

    用 DAX 快速构建一个日期表

    必须使用日期表的真正原因来自两点: 数据模型的设计学 复用 从设计的角度看,日期序列常常是分析中表征时间变化的最小时间跨度单位。...而做分析的时候,我们往往需要使用的却不是日期级别的时间跨度,而是用诸如: 按年度看销售额趋势 按月份对比前后两年的销售额差异 按年度至今来比对当前目标完成度与年度总目标的差异 可见: 分析时所使用的日期区间跨度都是大于单个日期的...更精确地说,对于某个日期,如:yyyy-MM-dd,记作 D1,其日期区间跨度为 1 日。而常用的日期区间的跨度都会大于 1 日。...构建日期表的注意事项 前面讲过从日期维度筛选数据时,常常不是从日期级别进行,而是从更高的时间维度进行,如:年季月日,考虑到中文本地化以及排序的问题,最佳实践如下: 分两步构建日期表 先构建一个基础日期表...注意 列(字段)在数据模型中是不存在特定顺序的,其顺序不重要。这也是初学者会常常问及的问题。

    3.7K20

    优化电商漏斗分析从 3 分钟 + 到 10 秒

    每个用户的操作事件有一定的先后顺序,事件顺序越靠后,完成该事件的用户数量越少,就像是一个漏斗。漏斗转化分析先要统计各步骤操作事件的去重用户数量,在此基础上再做转化率等进一步的计算。...过滤出指定时间段内 e2.etime 在 t1 后 7 天以内,且事件类型为 eventtype2 的数据,这里的 7 天被称为漏斗窗口期,也可以是传入参数。...一般来说,T 表在一定时间段内的数据,按 gid 分组结果集会很大,而大分组需要外存缓存,所以数据库计算的性能会比较差。...二、新增数据新增数据并不总是按分组字段继续有序,所以不能简单的追加到有序数据的末尾。而直接将有序数据和新增数据一起重新做常规大排序,会非常耗时。...新增数据排序后和补数据归并,原有序数据不变。经过适当的时间后,补数据积累到合适大小时,再和原有序数据归并。

    67810

    拥抱Java8日期时间类LocalDate、LocalDateTime详解

    一些日期和时间类还表现出相当差的API设计。例如,年份java.util.Date从1900开始,月份从1开始,天从0开始,这不是很直观。...域驱动 新的API模型与代表不同的用例类域非常精确Date和Time严密。这与以前的Java库不同,后者在这方面很差。...这样做不会给大多数开发人员带来额外负担,他们只需要使用标准的时间顺序即可。...Date 推算时间(比如往前推几天/ 往后推几天/ 计算某年是否闰年/ 推算某年某月的第一天、最后一天、第一个星期一等等)要结合Calendar要写好多代码,十分恶心!...这对于将数据序列化到数据库中很有用,如果服务器在不同时区,则还应该用作记录时间戳的序列化格式。

    2.5K30

    python内置库和pandas中的时间常见处理(1)

    在进行matplotlib时间序列型图表之前,首先了解python内置库和pandas中常见的时间处理方法,本篇及之后几篇会介绍常见库的常用方法作为时间序列图表的基础。...对象之间的时间间隔,精确到毫秒 1.1.1 date对象 生成date对象方法: 1)通过字符串生成(两种) #方法一,通过字符串转换函数生成date o_date = datetime.datetime.strptime...-07 date'> 4)通过时间戳获取date对象 #提供参数时间戳,返回date对象,time.time()就是时间戳 import time o_date...: 2022-07-10 2022-07-04 注:timedelta只能按照天、时、分、秒增减,不能进行按月、按年增减。...()) 输出结果,表示今天是2022年第27周第4天: (2022, 27, 4) 6)date转字符串 o_date = datetime.date.today() #返回一个以YYYY-MM-DD

    3.1K20

    elasticsearch 聚合 : 指标聚合、桶聚合、管道聚合解析使用总结

    Date Histogram:根据日期字段的值,将文档按时间间隔(如天、周、月等)分组到桶中,适用于时间序列数据的分析。...Doc Values 优势:适用于精确值字段和数字类型字段,提供高效的聚合、排序和统计操作。由于直接在磁盘上操作,性能通常很高。...通过为text字段添加keyword子字段,用户可以在保留全文搜索功能的同时,为精确值搜索、排序和聚合操作提供支持。...} } } } } } 我们按天对销售数据进行分组,并计算每天的总销售额。...基于key排序:对于Terms聚合,可以使用_key字段对桶的键(即分组字段的值)进行排序。这有助于按字母顺序或数值顺序展示分组数据。

    5.7K10

    MySQL联合索引:深度解析与最佳实践指南

    第一层:按col1排序 第二层:在col1相同的情况下,按col2排序 第三层:在col1、col2都相同的情况下,按col3排序 这种结构类似于电话簿的编排方式: 先按姓氏排序(第一列) 同姓氏中按名字排序...(第二列) 同姓氏名字中按中间名排序(第三列) 2....) WHERE a>1 AND b>2 等值+排序 联合索引(等值列在前) WHERE a=1 ORDER BY b, c 多列排序 联合索引(排序列顺序一致) ORDER BY a, b, c 覆盖查询...-- 方案B:正确的顺序(等值列在前) INDEX idx_correct (department_id, status, hire_date, salary) -- 先精确定位department...索引设计检查清单 必要性检查:WHERE、JOIN、ORDER BY、GROUP BY涉及的列 顺序优化:等值列在前,范围列在后,排序列匹配 覆盖检查:高频查询是否能用覆盖索引 选择性验证

    84510

    图解面试题:滴滴2020求职真题

    由于表中的时间应是datetime的格式,也就是精确到时分秒(YYYY-MM-DD HH:mm:ss)。转换后的效果如下图。 因此可以写出下列sql语句。...按“每个小时”分组(group by call_time_hour),然后统计每个小时的呼叫订单量count(order_id),然后排序就可以知道哪个小时的订单量最高。...(1)自关联查询,求得呼叫的时间间隔。由于我们需要时间的单位为天,因此我们使用date_format函数来提取出日期中的“年月日”部分。...这里由于涉及到计算相隔的天数之差,我们使用上面讲过的timestampdiff函数。单位为天。 此时查询结果如下 筛选出时间差为1天的数据,也就是间隔=1的数据。...用户价值分类 使用之前学过的RFM分析方法,对用户按价值分类。 RFM具体到本题可以做以下定义: R:最近一次乘客的完单时间。F:乘客打车的频率。M:打车消费的金额。

    1.8K00
    领券