SQL技巧分享 2018-08-09

15 sec read

以下SQL技巧为最近一周最新掌握的,记录下来以便后期使用。

1、随机抽样数据

HIVE SQL实现:

MSSQL T-SQL实现:

注意,T-SQL虽然也有rand()函数,生成的也是随机数,但在此并不适用,区别是rand()只生成一个随机数,而newid()是为每一列生成一个随机数。

2、HIVE分批查询数据

在MySQL中,想要分批查询数据只要使用limit的offset即可,但是在HIVE中,并没有offset的支持解决方案为使用ROW_NUMBER()生成新列后通过子查询进行限制:

3、HIVE不支持笛卡儿积查询的解决办法

报错内容为:ERROR : Error while compiling statement: FAILED: SemanticException [Error 10052]: In strict mode, cartesian product is not allowed. If you really want to perform the operation, set hive.mapred.mode=nonstrict

解决方案,将原来的:

修改为:

4、使用SQL计算Z-SCORE分值

5、使用order by 时无法使用UNION ALL的问题

解决方案时使用子查询,示例:

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

《怕蛇的人怎么学Python》:开篇

先前在自己的博客上,零散的写了一些Python的学习笔记,涉及到的内容比较凌乱,完全没有逻辑。反思自己对所学的
3 sec read

Hive SQL中的datediff、current_dat…

Hive SQL中的datediff函数返回的是2个日期的天数。在使用过程中发现了一个比较有趣的坑: SELE
2 min read

使用Python进行相关性分析

在数据分析时,经常会针对两个变量进行相关性分析。在Python中主要用到的方法是pandas中的corr()方
42 sec read

发表评论

电子邮件地址不会被公开。 必填项已用*标注