sql之多查询结果合并

根据需求查询,出现多个结果集,而且没有交集,但数据类型一样,进行合并;

语法:

  1. UNION:去除重复记录,例如:SELECT * FROM t1 UNION SELECT * FROM t2;
  2. UNION ALL:不去除重复记录,例如:SELECT * FROM t1 UNION ALL SELECT * FROM t2

代码:

val conf = new SparkConf().setAppName("").setMaster("local")
val spark = SparkSession.builder().config(conf).getOrCreate()
import spark.implicits._
val rdd = spark.read.textFile("f:/ab/input/c.txt").map(_.split("[ \t]+")).map(x => (x(0), x(1).toInt))
var df = rdd.toDF("a1", "a2")
df.createOrReplaceTempView("stu")
//  println("")spark.sql("select a1,count(a1) c1 from stu group by a1").show
println("统计出每个用户的粉丝数量,按照粉丝数量排序并输出")
spark.sql("select a2,count(a2) c2 from stu group by a2 order by c2 desc").show//  SELECT * FROM t1 UNION SELECT * FROM t2
println("请统计出一共有多少个不同的ID  ok")
spark.sql("select count(a1) from (select a1,count(a1) c1 from stu group by a1     union        select a2,count(a2) c2 from stu group by a2 order by c1 desc) zong").show
println("统计出每个ID出现的次数")
spark.sql("select a1,count(a1) c1 from stu group by a1     union        select a2,count(a2) c2 from stu group by a2 order by c1 desc").show

运行结果:

+--------+---+
|      a1| c1|
+--------+---+
|11111111|  9|
|11111113|  7|
|11111112|  7|
+--------+---+
统计出每个用户的粉丝数量,按照粉丝数量排序并输出
+--------+---+
|      a2| c2|
+--------+---+
|12743457|  3|
|13256236|  3|
|10000001|  3|
|12356363|  2|
|34232443|  2|
|10000032|  2|
|16386587|  2|
|13426275|  2|
|19764388|  1|
|12357365|  1|
|12364375|  1|
|32435546|  1|
+--------+---+
请统计出一共有多少个不同的ID  ok
+---------+
|count(a1)|
+---------+
|       15|
+---------+
统计出每个ID出现的次数
+--------+---+
|      a1| c1|
+--------+---+
|11111111|  9|
|11111113|  7|
|11111112|  7|
|10000001|  3|
|12743457|  3|
|13256236|  3|
|13426275|  2|
|10000032|  2|
|34232443|  2|
|12356363|  2|
|16386587|  2|
|32435546|  1|
|12364375|  1|
|19764388|  1|
|12357365|  1|
+--------+---+

sql之多查询结果合并相关推荐

  1. sql多表查询之合并查询(union)

    题1 https://www.nowcoder.com/practice/203d0aed8928429a8978185d9a03babc?tpId=240&tags=&title=& ...

  2. 一对多查询,合并成一条数据

    一对多查询,合并成一条数据 举例:一个产品对应多个型号,把多个型号查询出来显示在一个字段下面.显示出一条数据. 步骤: 1:创建产品表: 2:创建型号表: 思路: 先写出不含产品型号的查询语句, 然后 ...

  3. ORACLE---Unit04: SQL(高级查询)

    ---(重点复习:子查询.分页查询.decode) --- SQL(高级查询) --- 子查询 --- 子查询是嵌套在其它SQL语句当中的,目的是为嵌套的SQL提供数据,以便其执行. ---查看谁的工 ...

  4. mysql 两个查询结果合并去重_《MySQL 入门教程》第 21 篇 集合操作符

    文章来源:https://blog.csdn.net/horses/article/details/108174837 来源平台:CSDN 原文作者:不剪发的Tony老师 数据表与集合理论中的集合非常 ...

  5. sql 标量子查询_SQL Server 2017:标量子查询简化

    sql 标量子查询 Nowadays a lot of developers use Object-Relational Mapping (ORM) frameworks. ORM is a prog ...

  6. 使用SQL Coalesce函数查询数据

    We all know that a Null value is a field with no value. The statements that we are running daily wil ...

  7. 浅谈sql之连接查询

    SQL之连接查询 一.连接查询的分类 sql中将连接查询分成四类: 内链接 外连接 左外连接 右外连接 自然连接 交叉连接 二.连接查询的分类 数据库表如下: 1.学生表 2.老师表 3.班级表 表用 ...

  8. SQL语言 --- 数据查询

    数据查询 一.单表查询(查询仅涉及一个表) 1.选择表中的若干列 2.选择表中的若干元组 3.ORDER BY子句 4.聚集函数 5.GROUP BY子句 二.连接查询 1.等值与非等值连接查询 2. ...

  9. oracle横向合并两张表,SQL中将两个表合并成一个新表 SQL如何合并两个表并生成一个新表?...

    sql把两个表合并成一个新表的语句应该怎么写SQL SERVER: select * into 表3 from ( select 字段列表1 from 表1 union all select 字段列表 ...

最新文章

  1. python中write的用法_Python中操作文件之write()方法的使用教程
  2. 开发日记-20190609 关键词 记录一次失败,感悟,畅想未来
  3. [工具]sublime text2-前端开发利器
  4. 枚举法 之Java实现凑硬币
  5. 【译】Introducing scrcpy
  6. 【简单解法】1093 字符串A+B (20分)_16行代码AC
  7. ObjectiveC 深浅拷贝学习
  8. 数组排序最小复杂度_进行排序的最小缺失数
  9. MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理
  10. RobotFramework Library
  11. python解不定积分_python快速求解不定积分和定积分
  12. 做系统ghost步骤图解_掌握这几个步骤电脑小白也会做系统
  13. python多进程间通信
  14. Ubuntu更改hosts档
  15. C语言例题-打印日历
  16. (官方win10PE使用)微软官方win10PE取出文件操作教学
  17. 一树梨花压海棠的典故
  18. Office Word如何设置页码(MacOS中为例)
  19. JAVA毕业设计-智慧农业水果销售系统计算机源码+lw文档+系统+调试部署+数据库
  20. 阿里云下载git镜像路径

热门文章

  1. 如何由密度函数求分布函数
  2. java 常量定义_Java中常量定义的几种方式
  3. Python实现YY评级分数的爬取,并保存数据(附代码)
  4. 前端性能优化方法与实战12 理论分析:Hybrid 下的性能优化整体分析
  5. 转--地球同步轨道、太阳同步轨道知识
  6. 频繁项集挖掘实战和关联规则产生
  7. MySQL中怎么插入DateTime型的数据
  8. Maple问题解决(一):解决绘图输出(打印)设置之后绘图不再在页面显示的问题
  9. C语言-计算圆面积。
  10. 关于淘宝api的理解与认知