hive的SQL语句练习2

drawn_id (key) user_id drawn_dt drawn_amt

支用ID 用户 支用日期 支用金额

aaa u_001 2025-01-01 10

bbb u_002 2025-01-05 1000

ddd u_001 2025-01-10 10111

CCC u_003 2025-02-21 11111

问题:用HiveQL语法分别统计出如下信息

1)统计每个用户电销外呼后的支用统计业绩:业绩口径(外呼后15天有支用都算,如果一笔支用归给多个外呼只取最早那笔外呼)

用户ID 支用ID 支用日期 支用金额 外呼ID 外呼日期 外呼时长

电销:电话销售

外呼:打电话出去 可能是为了电话销售,也可能是为了回访老顾客

支用:客户借钱使用了,就是支用。

统计结果需要关联上面这个表。

好的,我将为您生成两道Hive SQL语句的练习。这些练习基于常见的Hive数据查询场景,适合初学者到中级水平。每个练习包括问题描述、所需数据表结构(假设表已存在),以及一个提示。练习设计注重实用性,帮助您掌握Hive的核心功能。如果您需要解决方案或进一步解释,请随时告知!

练习1: 基础数据过滤与查询

问题描述

假设有一个Hive表 sales,用于存储销售记录。表结构如下:

  • order_id (int):订单ID
  • product_name (string):产品名称
  • quantity (int):销售数量
  • price (double):产品单价

编写一个Hive SQL查询,找出所有单价大于100且销售数量大于5的订单记录,并按product_name升序排序。

提示

  • 使用WHERE子句进行条件过滤。
  • 使用ORDER BY进行排序。
  • 注意Hive SQL的语法(如字符串用单引号)。

练习2: 聚合计算与分组统计

问题描述

继续使用 sales 表。编写一个Hive SQL查询,计算每个产品的总销售额(总销售额定义为销售数量乘以单价的累积和,即 \\sum (\\text{quantity} \\times \\text{price})),并只显示总销售额超过1000的产品。结果应包括product_name和对应的总销售额(别名为total_sales),并按总销售额降序排序。

提示

  • 使用GROUP BY按产品分组。
  • 使用聚合函数(如SUM)计算总销售额。
  • 使用HAVING子句过滤聚合结果。
  • 注意:在Hive中,数值计算需处理数据类型(如确保quantityprice可相乘)。

这些练习覆盖了Hive SQL的基础操作(过滤、排序)和进阶功能(聚合、分组)。如果您尝试后需要核对答案或遇到问题,欢迎反馈!

相关推荐
卷毛迷你猪1 天前
快速实验篇(A11)数据集成与多维分析:从单实验产出到跨实验宽表
hive·hadoop
漂着的圆木2 天前
Agent 功能参与度:Copilot 怎么算
sql·数据分析·agent·githubcopilot·度量
旺仔不是程序员2 天前
LIMIT 1:PostgreSQL 只取一行的高效查询姿势
数据库·后端·sql
卷毛迷你猪2 天前
快速实验篇(A10)短序列上 SPI 的失效机制
hadoop
知识的搬运工旺仔3 天前
唯一索引与 NULL 值:PostgreSQL 主键约束与 NULLS NOT DISTINCT
数据库·后端·sql·postgresql
Francek Chen3 天前
【大数据处理与分析】数据仓库Hive:04 数据仓库Hive概述
大数据·数据仓库·hive·hadoop·分布式
想念是会呼吸的鱼3 天前
【ClickHouse 常用 SQL 语句整理】
sql·clickhouse
Gl�ria3 天前
Hadoop/YARN 集群缩容:下线DN节点
大数据·hadoop·分布式
想念是会呼吸的鱼3 天前
MySQL 常用语法整理
sql·mysql