Hive3:常用查询语句整理

devtools/2024/10/19 7:37:42/

一、数据准备

建库

CREATE DATABASE itheima;
USE itheima;

订单表

CREATE TABLE itheima.orders (orderId bigint COMMENT '订单id',orderNo string COMMENT '订单编号',shopId bigint COMMENT '门店id',userId bigint COMMENT '用户id',orderStatus tinyint COMMENT '订单状态 -3:用户拒收 -2:未付款的订单 -1:用户取消 0:待发货 1:配送中 2:用户确认收货',goodsMoney double COMMENT '商品金额',deliverMoney double COMMENT '运费',totalMoney double COMMENT '订单金额(包括运费)',realTotalMoney double COMMENT '实际订单金额(折扣后金额)',payType tinyint COMMENT '支付方式,0:未知;1:支付宝,2:微信;3、现金;4、其他',isPay tinyint COMMENT '是否支付 0:未支付 1:已支付',userName string COMMENT '收件人姓名',userAddress string COMMENT '收件人地址',userPhone string COMMENT '收件人电话',createTime timestamp COMMENT '下单时间',payTime timestamp COMMENT '支付时间',totalPayFee int COMMENT '总支付金额'
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';LOAD DATA LOCAL INPATH '/home/atguigu/itheima_orders.txt' INTO TABLE itheima.orders;

用户表

CREATE TABLE itheima.users (userId int,loginName string,loginSecret int,loginPwd string,userSex tinyint,userName string,trueName string,brithday date,userPhoto string,userQQ string,userPhone string,userScore int,userTotalScore int,userFrom tinyint,userMoney double,lockMoney double,createTime timestamp,payPwd string,rechargeMoney double
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';LOAD DATA LOCAL INPATH '/home/atguigu/itheima_users.txt' INTO TABLE itheima.users;

二、基本查询

查询数据量

SELECT COUNT(*) FROM itheima.orders;

过滤广东省订单

SELECT * FROM itheima.orders WHERE useraddress LIKE '%广东%';

找出广东省单笔营业额最大的订单

SELECT * FROM itheima.orders WHERE useraddress like '%广东%' ORDER BY totalmoney DESC LIMIT 1;

三、分组、聚合

统计未支付、已支付各自的人数

SELECT ispay, COUNT(*) AS cnt FROM itheima.orders GROUP BY ispay;

在已付款订单中,统计每个用户最高的一笔消费金额

SELECT userid, MAX(totalmoney) AS max_money FROM itheima.orders WHERE ispay = 1 GROUP BY userid;

统计每个用户的平均订单消费额

SELECT userid, AVG(totalmoney) FROM itheima.orders GROUP BY userid;

统计每个用户的平均订单消费额,过滤大于10000的数据

SELECT userid, AVG(totalmoney) AS avg_money FROM itheima.orders GROUP BY userid HAVING avg_money > 10000;

四、JOIN

JOIN订单表和用户表,找出用户名

SELECT o.orderid, o.userid, u.username, o.totalmoney, o.useraddress, o.paytime FROM itheima.orders o JOIN itheima.users u ON o.userid = u.userid;

左外关联,订单表和用户表,找出用户名

SELECT o.orderid, o.userid, u.username, o.totalmoney, o.useraddress, o.paytime FROM itheima.orders o LEFT JOIN itheima.users u ON o.userid = u.userid;

五、UNIO

去重联合的查询结果

SELECT * FROM course
UNION 
SELECT * FROM course

不去重联合的查询结果

SELECT * FROM courseUNION ALL 
SELECT * FROM course

六、RLIKE正则查询

常用匹配规则
在这里插入图片描述在这里插入图片描述在这里插入图片描述

-- 查找广东省数据
SELECT * FROM itheima.orders WHERE useraddress RLIKE '.*广东.*';
-- 查找用户地址是:xx省 xx市 xx区
SELECT * FROM itheima.orders WHERE useraddress RLIKE '..省 ..市 ..区';
-- 查找用户姓为:张、王、邓
SELECT * FROM itheima.orders WHERE username RLIKE '[张王邓]\\S+';
-- 查找手机号符合:188****0*** 规则
SELECT * FROM itheima.orders WHERE userphone RLIKE '188\\S{4}0[0-9]{3}';

http://www.ppmy.cn/devtools/95042.html

相关文章

你所不知道的关于AI的27个冷知识——AI的全球合作与竞争

AI的全球合作与竞争 亲爱的朋友们,今天我们要探讨的是一个充满国际色彩的话题——人工智能(AI)的全球合作与竞争。想象一下,科学家和工程师们,就像各个超级英雄一样,齐聚一堂,共同推动AI技术的发展。然而,这场科技的“奥运会”不仅有合作的温情时刻,也有竞争的激烈角…

机器人等方向学习和研究的目标

核心目标类似: 学习一个知识点用时越来越短,研究一个系统效率越来越高。 目标 没有目标是常态,十分普遍。 但其实,目标也可以很宽泛。 感谢朋友们一直以来的鼓励帮助,倍感荣幸,非常感谢。-CSDN blink-…

FPGA设计-ibert使用介绍及ibert时钟锁不住问题分析

目录 简介 ibert介绍 配置流程 其他一些参数: 常见问题: 简介 本文主要介绍ibert的使用,详细介绍IBERT配置的每一步及其含义。 ibert介绍 在使用高速串行接口时,总会遇到这样或者那样的问题,我们有时候会用到这…

人脸操作:从检测到识别的全景指南

人脸操作:从检测到识别的全景指南 在现代计算机视觉技术中,人脸操作是一个非常重要的领域。人脸操作不仅包括检测图像中的人脸,还涉及到人脸识别、表情分析、面部特征提取等任务。这些技术在各种应用中发挥着关键作用,从社交媒体…

搭建个人智能家居 8 - MLX90614红外测温

搭建个人智能家居 8 - MLX90614红外测温 前言前文回顾:MLX90614红外测温 ESPHomeHome Assistant系统现况 结束 前言 到目前为止,我们这个智能家居系统添加了5个外设,分别是:LED灯、RGB灯、DHT11温度传感器、SGP30和PMS5003空气颗…

ElasticSearch 全文检索相关性 算分

文章目录 相关性相关性Relevance相关性算法TF-IDFBM25 通过Explain查看TF-IDFboosting query 多字段查询 相关性dis_max query最佳字段查询multi_match querybest_fields最佳匹配字段most_fields 多数字段搜索cross_fields跨字段搜索 相关性 相关性Relevance 搜索的相关性算分…

学习计算机网络(三)——IP地址

一、IP协议(IPV4、IPV6) 表示形式(两种): 点分十进制、二进制 地址被点分为4个部分,每个部分8位,总共32位。 A、B、C类地址都是单播地址(一对一通信),D类…

在等保测评中,如何平衡技术防护和管理措施的优先级?

在等保测评中平衡技术防护和管理措施的优先级是一项挑战,但可以通过以下方法来实现: 1. 全面评估:首先进行全面的安全评估,识别组织面临的主要风险和脆弱性,这有助于确定哪些领域需要优先考虑。 2. 风险导向&#xf…