SQL技巧分享 2018-08-09

16 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

AttributeError: ‘NoneTyp…

在PyCharm创建的Virtualenv环境下,使用pip安装包时,老是提示需要升级pip,具体提示信息为:
12 sec read

Anaconda包更新遇到的问题及解决方案

Anaconda可以通过命令升级所有的Python包,具体命令为:conda update –al
7 sec read

复合事件处理CEP简介

什么是复合事件处理? 这是一个IT事件爆发的时代,各种IT系统之间或系统内部,每天产生大量事件。系统在关键点打
23 sec read

发表评论

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