摸鱼大数据——select查询7-10

7、union联合查询

union: 对重复数据会去重
union all: 对重复数据不会去重
​
注意:union和union all中两边的字段(类型、顺序)要对应上

示例:

use day08;
select * from students;
​
select id,name from students where id in (95001,95003);
select id,name from students where id=95001 or id=95003;
​
-- union:对重复数据会进行去重处理
select id,name from students where id in (95001,95003)
union
select id,name from students where id in (95003,95004,95005);
​
-- union all:对重复数据不会进行去重处理
select id,name from students where id in (95001,95003)
union all
select id,name from students where id in (95003,95004,95005);
​
-- 注意:union和union all中两边的字段(名称、顺序)要对应上
select id,name from students where id in (95001,95003)
union all
select id,age from students where id in (95003,95004,95005);
​
select id,name from students where id in (95001,95003)
union all
select name,id from students where id in (95003,95004,95005);

可能遇到的问题:

原因: union和union all中两边的字段(类型、顺序)要对应上

8、with as子查询

with 临时表的名称1 as (
    数据查询语句
) select语句;
​
​
with 临时表的名称1 as (
    数据查询语句
),
临时表的名称2 as (
    数据查询语句
)select语句;
​
注意:
    1- 临时表的名称要保持唯一
    2- with只能写在最前面,而且只有一个

示例:

-- with as子查询
-- 子查询:普通写法
select * from (
    select
        id, name
    from students
    where id in (95001, 95003)
)tmp where id=95001;
​
-- 子查询:with as写法
with tmp_1 as (
    select
        id, name
    from students
    where id in (95001, 95003)
)
select * from tmp_1 where id=95001;
​
with tmp_1 as (
    select
        id, name
    from students
    where id in (95001, 95003)
),
tmp_2 as (
    select
        id, name
    from students
    where id in (95004, 95005)
)
select * from tmp_1,tmp_2; -- 这里是cross join的简写

9、抽样查询

语法:
tablesample (bucket 抽样桶的个数 out of 桶的总数 on [字段名称 | rand()])
​
抽样查询的用途: 当Hive表中的数据非常多的时候,我们想快速的对数据整体情况有一个大概的了解

示例:

use day07;
-- 分桶的时候按照字段进行分桶
select * from orders tablesample (bucket 1 out of 20 on orderId);
​
-- 分桶的时候进行随机分桶。内部会尽可能的做到均衡
select * from orders tablesample (bucket 1 out of 20 on rand());

10、内置虚拟列

虚拟列是Hive内置的可以在查询语句中使用的特殊标记,可以查询数据本身的详细参数。
Hive目前可用3个虚拟列:
INPUT__FILE__NAME,显示数据行所在的具体文件
BLOCK__OFFSET__INSIDE__FILE,显示数据行所在文件的偏移量
ROW__OFFSET__INSIDE__BLOCK,显示数据所在HDFS块的偏移量
此虚拟列需要设置:SET hive.exec.rowoffset=true 才可使用

示例:

use day07;
​
-- 开启ROW__OFFSET__INSIDE__BLOCK使用
set hive.exec.rowoffset=true;
SELECT
    *,
    INPUT__FILE__NAME, -- 数据所在的文件位置
    BLOCK__OFFSET__INSIDE__FILE, -- 数据所在的字节位置
    ROW__OFFSET__INSIDE__BLOCK -- 数据文件所在的block块的偏移量
FROM course_bucket_tb_sort;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/664131.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

读天才与算法:人脑与AI的数学思维笔记26_读后总结与感想兼导读

1. 基本信息 天才与算法:人脑与AI的数学思维 [英] 马库斯杜索托伊 (Marcus du Sautoy) 机械工业出版社,2020年4月出版 1.1. 读薄率 书籍总字数284千字,笔记总字数39047字。 读薄率39047284000≈13.7% 1.2. 读厚方向 千脑智…

Python—面向对象小解(3)

一、多态 多态指的是一类事物的多中形态 相同的方法,产生不同的执行结果 运算符 * 的多态 int int 加法计算 str str 字符串拼接 list list 列表的数据合并 在python中可以使用类实现一个多态效果 在python中使用重写的方式实现多态 (1)定…

Git-lfs入门使用教程

在备份我的毕设到github私有库的时候,发现git对于单文件大于100MB的会限制上传,一番折腾一下发现了git-lfs [Git LFS(Large File Storage,大文件存储)是 Github 开发的一个Git 的扩展,用于实现 Git 对大文件的支持]。 …

【效率提升】谷歌浏览器搜索技巧

文章目录 查找快速解答,以关键词形式进行搜索使用搜索运算符限定搜索范围,排除不相干内容使用高级搜索,可以搜索到更详细、具体、专业的结果 查找快速解答,以关键词形式进行搜索 想要哪个领域的快速解答,就使用哪个领…

星鸾云平台:高效配置Anaconda环境

星鸾云平台:高效配置Anaconda环境 多种算力资源和AI一体机在星鸾云平台上安装Anaconda并配置Python环境的步骤注册和登录体验GPU显卡服务选择服务器实例登陆GPU实例挂载数据盘配置CUDA环境安装Anaconda 星鸾云平台的优势 星鸾云平台以其卓越的产品功能和优势&#x…

期权交易有什么利弊点?

今天带你了解期权交易有什么利弊点?期权是一种合约,有看涨期权和看跌期权两种类型,也就是做多和做空两个方向,走势标的物对应大盘指数,这也是期权与其他金融工具的主要区别之一,可以用于套利,对…

Python中限制输入数值范围的技术性探讨

目录 一、引言 二、使用内置函数限制输入范围 三、使用条件语句进行范围检查 四、使用异常处理增强鲁棒性 五、结合第三方库进行输入验证 六、总结 一、引言 在Python编程中,用户输入是程序与用户交互的重要方式之一。然而,由于用户输入的多样…

实验室信息管理系统LIMS可以解决哪些问题

LIMS系统(Laboratory Information Management System)是一种专门针对实验室设计的信息管理系统,它能够帮助实验室解决一系列的问题,提高实验室的管理效率和数据可靠性。以下是LIMS系统可以解决的实验室问题: LIMS系统在实验室管理中的作用 1…

TDesign环境搭建-后台模板的安装和使用-构建web管理端后台系统

TDesign环境搭建-后台模板的安装和使用-构建web管理端后台系统 一、安装Nodejs 下载:nodejs 注意,目前前端代码使用的vue3做为脚手架进行开发,需要强制依赖node版本为16及以上 二、模板安装 2.1 安装脚手架:cli nodejs安装好之…

数字化校园建设让学习更加广阔

校园构建数字化校园的亮点是什么?校园以智能服务、才智办理、数字讲堂为中心内容的智慧校园建造,不只使师生作业和日子更高效,并且使他们有更多的时刻投入到智能教育和智能学习中去,进步教育质量,使学生走出校门时紧跟…

风电功率预测 | 基于TCN-GRU时间卷积门控循环单元的风电功率预测(附matlab完整源码)

完整代码 clc; clear close allX = xlsread(风电场预测.xlsx); X = X(5665:8640,:); %选取3月份数据 num_samples =

辅导男朋友转算法岗的第2天|self Attention与kv cache

文章目录 公式KV CacheMHA、MQA、GQA 面试题为什么除以 d k \sqrt{d_k} dk​ ​Multihead的好处decoder-only模型在训练阶段和推理阶段的input有什么不同?手撕必背-多头注意力 公式 $ \text{Output} \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) \times …

nodemcu32s 和 mini D1 组局域网并用 webSocket 通信

实现思路 使用 mini D1 来搭建一个 webSocket 服务,然后使用 nodemcu32 连接,然后就可以进行通信了。 服务端代码(mini D1) 在代码中主要是需要控制好 loop 函数中的延时,也就是最后一行代码 delay,如果…

B端系统:角色与权限界面设计,一文读懂。

一、什么是角色与权限系统 角色与权限系统是一种用于管理和控制用户在系统中的访问和操作权限的机制。它通过将用户分配到不同的角色,并为每个角色分配相应的权限,来实现对系统资源的权限控制和管理。 在角色与权限系统中,通常会定义多个角色…

入门flask:Python后端开发的首选框架

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:从零开始学习弗拉斯克 二、弗拉斯克的微框架哲学 三、弗拉斯克的核心…

字符串匹配算法(一)BF算法、RK算法

文章目录 BF算法算法详解算法实现 RK算法算法详解算法实现 BF算法 算法详解 BF算法也就是Brute Force 算法,中文叫暴力匹配算法,也叫朴素匹配算法。模式串和主串:例如:我们在字符串A中查找字符串B,那么字符串A就是主…

留言板——增添功能(持久化存储数据,使用MyBatis)

目录 一、数据准备 二、引入MyBatis 和 MySQL驱动依赖 三、配置MySQL账号密码 四、编写后端代码 五、调整前端代码 六、测试 之前的代码:综合性练习(后端代码练习3)——留言板_在线留言板前后端交互-CSDN博客 一、数据准备 创建数据库…

vivo鄢楠:基于OceanBase 的降本增效实践

在3 月 20 日的2024 OceanBase 数据库城市行中,vivo的 体系与流程 IT 部 DBA 组总监鄢楠就“vivo 基于 OceanBase 的降本增效实践”进行了主题演讲。本文为该演讲的精彩回顾。 vivo 在1995年于中国东莞成立,作为一家全球领先的移动互联网智能终端公司&am…

CentOS 7基础操作01_安装CentOS 7操作系统

1、实验环境 因为 Windows图形界面占用系统资源较高,所以公司准备将面向互联网的网站,数据库等重要应用基于Linux平台部署,并计划于近期将服务器安装开源免费的 CentOS 系统。进行前期准备工作时,需要公司的系统管理员尽快掌握 CentOS 系统的安装过程 2、需要描述 …

CSS 空间转换 动画

目录 1. 空间转换1.1 视距 - perspective1.2 空间转换 - 旋转1.3 立体呈现 - transform-style1.4 空间转换 - 缩放 2. 动画 - animation2.1 动画的基本用法2.1 animation 复合属性2.2 animation 拆分属性2.3 多组动画 正文开始 1. 空间转换 空间:是从坐标轴角度定义…