首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据科学面试中应该知道5个SQL日期函数

DATE_TRUNC() DATE_TRUNC(date_expression, date_part) DATE_TRUNC() 将日期缩短为指定日期部分。...在下面的示例中,由于我们指定了 date_part = MONTH,因此 date_trunc() 将截断日期以获取该月第一天: DATE_TRUNC('2021-06-28', MONTH) =...DATE_TRUNC 在你希望定期(例如每周、每月或每年)汇总数字时非常有用 DATE_TRUNC 在进行分组分析时是必要,你通常按月对用户进行分组 示例 :假设你想从下表中获得每周销售额总和:...DATE_DIFF() 在 WHERE 子句中也很有用,如果你想过滤 X 周期前发生日期(例如 5 天前、2 前、上个月)。...使用 CURRENT_DATE() 是引用今天日期一种更简单方法,不是硬编码日期,如果它是在 Airflow 上固化查询或你经常使用查询,这尤其有用 示例 1:假设你想获取过去一内发货所有订单

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

想学数据分析但不会Python,过来看看SQL吧(下)~

子查询与临时表格所完成任务是一致,只不过子查询是通过嵌套查询完成,另一种是通过WITH创建临时表格进行查询。...`函数 DATE_TRUNC使你能够将日期截取到特定部分。...`DATE_PART`函数 DATE_PART 可以用来获取日期特定部分,如获取日期2018-10-6月份,只会获得一个结果10,这是它与DATE_TRUNC最大区别。...日期部分或时间部分 缩写 世纪 c、cent、cents 十年 dec、decs 年 y、yr、yrs 季度 qtr、qtrs 月 mon、mons w,与 DATE_TRUNC一起使用时将返回离时间戳最近一个星期一日期...附:SELECT子句顺序 下表中列出了这两中涉及到子句,在进行使用时,应严格遵循下表中从上至下顺序。

3K30

Dune Analytics入门教程(含示例)

由于 ETH 精度为 18 位小数,因此我们将数字除以 1e18,得到值以 ETH 为单位,不是以 Wei 为单位 where block_time > now() — interval ’10...这也将使查询运行更快 group by 1 order by 1:1 这是我们选择第一列(date_trunc)。我们将结果日期分组并按日期排序。...由于我们天对数据进行分组,因此需要对选择所有其他列进行汇总。这里使用SUM,但也可以根据需要使用 MAX,MIN,AVG 或任何其他汇总函数。 ? 执行查询将生成类似的结果。...注意地址格式。在 Dune 中使用地址时, 它必须以\x不是0x开头,因为你很可能会在块浏览器中找到它,这是一个非常常见错误,因此必须指出这一点。查询及其结果在这里[9]可以找到。...这不是有关 PostgreSQL 详尽教程, PostgreSQL 资源非常丰富,但是希望可以引入一些基本命令来帮助你入门。

5K10

ClickHouse之常见时间周期函数 - Java技术债务

toStartOfWeek(t[,mode]) mode将Date或DateTime向前取整到最近星期日或星期一。 返回Date类型。...否则,它是上一年最后一,下周是第1。 4 Sunday 0-53 如果包含1月1日在后一年度中有4天或更多天,则为第1。否则,它是上一年最后一,下周是第1。...时间计算相关 date_trunc 将Date或DateTime指定单位向前取整到最接近时间点。...如果未指定将使用value时区 返回指定单位向前取整后DateTime。...,空格填充( 1-31) 2 %F 短YYYY-MM-DD日期,相当于%Y-%m-%d 2018-01-02 %G ISO四位数年份格式, 从基于年份由ISO 8601定义 标准计算得出,通常仅对

9510

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

--断点排序 十四、业务逻辑分类与抽象--时效 十五、时间序列--进度及剩余 十六、时间序列--构造日期 十七、时间序列--构造累积日期 十八、时间序列--构造连续日期 十九、时间序列--取多个字段最新值...分组b字段排序,对c取前后各一行和 输出结果如下所示: a b sum_c 2014 A 1 2014 B 5 2014 C 1 2015 A 3 2015 D...分组b字段排序,对c取平均值 问题描述:前一行与当前行均值!...列分组,a列排序,得到b列各值出现次序 from t13 )tmp1 )tmp2--注意,如果不同b列值,可能出现同样组首值,但组首值需要和a列值 一并参与分组,故并不影响排序。...表d相当于拉链过变化维,但日期范围可能是不全

3.7K30

时间问题,你会吗?

计算规则是当前日期与支付时间相隔周数(值为其中一个,1,2,4,8,16,16以上) 【解题思路】 使用逻辑树分析方法,将问题拆解为2个子问题: 1)计算当前日期与支付时间相隔周数 2...)根据间隔周数条件分组 1.计算当前日期与支付时间相隔周数 设计到日期,要能想到《猴子从零学会SQL》里讲过日期函数。...更新表,需要使用update函数,SQL语法如下 update set = 用下面SQL就可以得到当前日期与支付时间相隔周数 update 订单明细表...set 间隔周数 = (timestampdiff(WEEK,支付时间,NOW())); 查询结果: 2.根据间隔周数条件分组 可以使用case when 条件表达式,对间隔周数条件进行分组。...'16以上' end); 查询结果: 【本题考点】 1)涉及到多条件分组问题,要想到使用case when条件表达式。

91320

postgresql高级应用之行转列&汇总求和

,而我们数据是行存储就是日期|产品|渠道|销售额这样,说是也奇了怪了,我们买报(guan)表(yuan)系(la)统(ji) 竟然不能容易地实现。。。...思考 如果你看到這裏請稍稍思考下,一開篇我説過我們數據是 日期|产品|渠道|销售额 這樣行存儲,以上截圖大家一看就懂,然後再看看開篇報表截圖,我想大家可以同我一樣可以分析出以下幾點: 報表縱向看大致分三部分...也有其他很好用行專列擴展,這裏就不介紹啦~) 另一個是使用窗口函數(over)對明細提前做 渠道窗口匯總,這樣渠道日合計(行)數據就有啦~ 想想是不是很容易?...,已經可以算作是最終結果了(如果你需要報表系統來計算匯總行數據話),當然 ,我們報表系統過於繁瑣(不是不能做,而是太麻煩),需要你將做好菜喂給它吃,這時,該怎麽辦呢。。。...~ 下章,我將講一講如何實現通過sql實現前端合并單元格效果,是不是很神奇(我保證你全網搜不到), 希望不翻車,哈哈哈~

1.8K10

Power Query 真经 - 第 7 章 - 常用数据转换

挑战在于,用户是以透视表格式来思考问题不是以表格格式来思考问题,所以习惯于基于 “数据透视表” 格式来进一步构建后续分析,不是以表格形式来构建分析。...值得注意是:标准表往往具备一个重要特性,那就是随着时间推移,只会纵向伸展,不会横向伸展,这源自其记录结构稳定性,不会增加新列。...一些用户认为对数据进行简单转置就可以,但这仅仅只是改变了数据外观,并没有真正将数据转换成标准表格结构,如图 7-2 所示。...因为现在对应【今年】年份是 2022 年,不是 2021 年。 此外 Excel 默认筛选器允许用户选择【年】、【月】或【日】,即使数据集中只有一个日期列。...然后,日期对数据进行升序排序,但将其作为 “State” 一个子排序。换句话说,这些排序需要相互叠加,不是相互取代。 做到这一点步骤如下所示。

7.2K31

Mysql 必知必会(一)

因此, prod_price列以降序排序,prod_name列(在每个价格内)仍然标准 升序排序。...%告诉MySQL接受jet之后任意字符,不 管它有多少字符。 下划线(_)通配符 下划线用途与%一样,但下划线只匹配单个字符不是多个字符。...(天、等) AddTime() 增加一个时间(时、分等) CurDate() 返回当前日期 CurTime() 返回当前时间 Date() 返回日期时间日期部分 DateDiff() 计算两个日期之差...GROUP BY子句指示MySQL分组数据,然后对每个组不是 整个结果集进行聚集。 在具体使用GROUP BY子句前,需要知道一些重要规定。 GROUP BY子句可以包含任意数目的列。...事实上,目前为止所 学过所有类型WHERE子句都可以用HAVING来替代。唯一差别是 WHERE过滤行,HAVING过滤分组

2.6K20

70个NumPy练习:在Python下一举搞定机器学习矩阵运算

输入: 输出: 答案: 6.如何替换满足条件元素不影响原始数组? 难度:2 问题:将arr数组中所有奇数替换为-1不更改arr数组 输入: 输出: 答案: 7.如何重塑数组?...难度:1 问题:找出 iris sepallength平均值,中位数,标准差(第1列) 答案: 29.如何标准化一个数组至0到1之间?...43.用另一个数组分组时,如何获得数组中第二大元素值? 难度:2 问题:第二长物种最大价值是什么? 答案: 44.如何列排序二维数组?...输入: 输出: 答案: 51.如何为numpy中数组生成独热编码? 难度:4 问题:计算独热编码。 输入: 输出: 答案: 52.如何创建分类变量分组行号?...难度:3 问题:查找由二维numpy数组中分类列分组数值列平均值 输入: 输出: 答案: 60.如何将PIL图像转换为numpy数组?

20.6K42

oracle 常用函数

日期函数:对日期和时间进行处理。 转换函数:可以将一种数据类型转换为另外一种数据类型。 聚合函数 聚合函数(多行函数、分组函数、组函数):操作多行数据,并返回一个结果。...如果 fmt 为“DAY”则舍入到最近周日,即上半舍去,下半作为下一日。...'), ROUND(SYSDATE, 'month'), ROUND(SYSDATE, 'year') FROM DUAL; TRUNC(date[,fmt]) TRUNC函数为指定元素截去日期值...select子句后边列名必须与group by子句后列名一致,除非是聚合函数 --错误,因为deptno不是聚集函数,也不是group by后面跟列名 select deptno,avg(sal)...在比较时,OracIe会自动表达式数据类型进行比较,以expr_1数据类型为准。 四舍五入 Oracle 提供了以下四个函数用来做四舍五入。

1.3K11

MongoDB系列六(聚合).

这意味着,在分片情况下,"$group" 或 "$sort"会先在每个分片上执行,然后各个分片上分组结果会被发送到mongos再进行最后统一分组,剩余管道工作也都是在mongos(不是在分片)...不同管道操作符可以任意顺序组合在一起使用,而且可以被重复任意多次。...MongoDB提供了包括分组操作符、数学操作符、日期操作符、字符串表达式 等等 一系列操作符... 分组操作符 类似 SQL中分组操作,只适用于分组统计工作,不适用于单个文档。...字节,注意,是字节,不是字符。...{$week: "$date" } 以0到53之间数字返回一年中日期周数。从星期日开始,第一从一年中第一个星期天开始。一年中第一个星期日之前日子是在第0

4.8K60

2-SQL语言中函数

,第三个参数是字符长度,不是结束截取位置 SELECT SUBSTR('Hello World',1,5) AS result; # INSTR(str,substr) ,返回子字符串在原字符串中索引...'%A%' GROUP BY department_id; # 查询哪个部门员工个数大于2(添加分组筛选) /* 这里不是利用employees表中原数据进行筛选, 而是根据筛选后结果进行二次筛选...,就会用到连接查询 分类: 年代分类: sql92标准(仅支持内连接) sql99标准(除了全外连接外都支持)【推荐】功能分类: 内连接(包括等值连接,非等值连接,子连接) 外连接(包括左外连接,右外连接...,全外连接) 交叉连接 # DQL函数语句--连接查询 /* 含义:又称为多表查询,当查询字段来自于多个表时,就会用到连接查询 分类: 年代分类:sql92标准(仅支持内连接),sql99标准(...,贸然利用两个表格数据匹配结果,不添加连接条件。

2.8K10

Oracle常用SQL查询

, 'ww'),--年度1月1日第一天为每周第一天 TRUNC(SYSDATE, 'iw'),--每周一 TRUNC(SYSDATE, 'w')--按月份1日第一天作为每周第一天...FROM DUAL; (4)业务 业务是上周六到本周五 SELECT trunc(sysdate, 'iw') - 2, trunc(sysdate, 'iw') + 4 FROM DUAL...; 说明: sysdate所在本周一前移2天,即是本业务开始日期 sysdate所在本周一后移4天,即是本业务结束日期 上一个业务 SELECT trunc(sysdate - 7..., 'iw') - 2, trunc(sysdate - 7, 'iw') + 4 FROM DUAL; 2、获取每个分组日期最大一条数据 业务场景:在报表开发中,只需要每个分组最近一条数据...例如:某天明细数据中,可能存在多条记录,只需要该天最后更新一条记录。 思路:对分组进行排序,并编号,然后select编号为1记录即可。

1.3K10

SAP最佳业务实践:半成品计划与处理(234)-4成品生产2

生产订单处理(产成品) 此操作介绍如何将生成计划订单转换成生产订单。在这种情况下,通过集中转换计划订单来完成此操作。...计划订单包含三个日期: 订单完成日期和开始日期、计划开放日期。如果到达计划开放日期,计划订单转换为生产订单。计划转换日期使用物料主数据计划边际码确定。 3. 选择 将计划订单转换为生产订单。 4....这将使您返回到 从XX:XX个小时开始库存/需求清单屏幕。选择 刷新(F6)。现在,在 MRP 要素列中显示是PrdOrd(生产订单)不是 PldOrd。...如果订单状态不是 下达,则无法对生产订单发货。 角色仓库文员 后勤®物料管理®库存管理®货物移动®货物移动 (MIGO) 1....最终装配生产订单处理 (145) 要执行此操作,请处理以下步骤: 从业务情景库存生产 – 离散行业 (145) 处理步骤 分组生产订单处理 ® 过账生产订单收货分组生产订单处理® 确定产成品生产

1.7K50

POSTGRESQL SQL 优化,不建立索引,不调整参数,不修改SQL另类方式

使用了 create statistics 后整体执行计划变为了并行方式并且gather merge 中聚合行数变为了 1090行,不使用特殊统计分析,则执行计划消耗内存和ROW 都和全表扫描是一致...每一种数值都是100个,如果不使用create statistics 那么统计分析将不会关心这两个字段关系,因为两个值之间是有对应关系,如果不使用这样方式,则是每个字段自己来进行统计分析,在查询中...比如我们在举一个例子,这个表中数据,需要经常分组,进行distinct 类似的统计语句执行。...最后简单介绍一下,create statistics 集中类型 1 ndistinct ,这个类型主要是对应于分组多个列分组,在类似这样查询方式中,会使用比较顺手。...最后在阐述一下,在SQL优化中是一个复合型工作,并不是简单使用索引,或者修改SQL,实际上我听到最好SQL优化方式是,将这个业务逻辑推到。

56940
领券