当前位置: 首页 > news >正文

常用的网站开发工具长沙疫情最新数据消息

常用的网站开发工具,长沙疫情最新数据消息,网站设计与开发范本,关于网站建设费用1. 建表 & 拉取表2. 插入数据 insert select3. 查询3.1 查询语句语法/顺序3.2 关系操作符3.3 聚合函数3.4 where3.5 分组聚合3.6 having 筛选分组后结果3.7 显式类型转换 & select产生指定值的列 4. join 横向拼接4.1 等值连接 & 不等值连接4.2 两表连接4.2.1 内连…

  • 1. 建表 & 拉取表
  • 2. 插入数据 insert + select
  • 3. 查询
    • 3.1 查询语句语法/顺序
    • 3.2 关系操作符
    • 3.3 聚合函数
    • 3.4 where
    • 3.5 分组聚合
    • 3.6 having 筛选分组后结果
    • 3.7 显式类型转换 & select产生指定值的列
  • 4. join 横向拼接
    • 4.1 等值连接 & 不等值连接
    • 4.2 两表连接
      • 4.2.1 内连接
      • 4.2.2 左外连接 & 右外连接
      • 4.2.3 满外连接
    • 4.3 多表连接
    • 4.4 笛卡尔积
  • 5. union 纵向拼接
  • 6. 排序
    • 6.1 order by 全局排序
    • 6.2 sort by reduce内部排序
  • 7. 其他
    • 7.1 select中判断筛选出null
      • 7.1.1 MYSQL ifnull
      • 7.1.2 Hive SQL if( , , )

1. 建表 & 拉取表

建表

create table student(name string, age  BIGINT,subject array<string>, -- 学科score map<string, float>, -- 学科对应成绩address struct<houseNumber: int, street: string>
) 
row format delimited
fields terminated by "\t"; -- 列间隔符

加载数据

-- local 从本地加载,省略则从HDFS加载
load data local inpath '/root/covid/2020-02.csv' into table covid2020;
-- 加载数据到分区
load data inpath '/data/covid/2020-02.csv' into table covid2020 partition(dt='2020-02');

2. 插入数据 insert + select

-- overwrite 覆盖
-- into 追加
insert overwrite/into table table1
select id,name
from table2;
-- 一次查询,插入多个表或分区
from table2
insert into/overwrite table table1 partition(dt="01")
select_value1
insert into/overwrite table table1 partition(dt="02")
select_value2
;

3. 查询

3.1 查询语句语法/顺序

注意先后顺序

select all/distinct expr1,expr2
from table_name
where condition -- 过滤
group by condition -- 分组查询
having condition -- 分组后组内过滤
order by col_list -- 最终查询结果排序
limit number
offset number
;

3.2 关系操作符

-- <==> 都为null或都不为null,返回true
where A <==> B -- 判空,必须用is (not) null
-- 若string类型为"",则hive的is null判断反回为False
where job is null-- in 集合
where job(col_name) in('研发', ‘销售’)

3.3 聚合函数

多行数据一起计算,返回一行值

count(*) 统计行数,包含null
count(col_name) 统计指定列的行数,不包含null
max() 不包含null
min()
sum()
avg()select count(*) from table1;

3.4 where

-- where 中可以使用函数
select * from table1 where length(name) > 5;
-- where中不能使用聚合函数

3.5 分组聚合

选择分组后,select字段只能选择 分组的字段(job)、聚合函数。

-- 分组后, 组内count(*)
select job,count(*)
from emp
group by job
;

3.6 having 筛选分组后结果

select job,count(*) cnt
from emp
group by job
having cnt >= 2;-- 相当于
select job,cnt
from 
(select job,count(*) cntfrom empgroup by job
) t
where cnt >= 2;

3.7 显式类型转换 & select产生指定值的列

select'none' as none_col1,cast('none' as int) as none_col2

显示类型转换
cast(‘100’ as int)
select cast(12.1 as int); >>> 12

4. join 横向拼接

4.1 等值连接 & 不等值连接

-- 等值连接
select *
from table1
join table2
on table1.id = table2.id
;-- 不等值连接
on 中不是"=", 早期版本hive 不支持不等值连接

4.2 两表连接

4.2.1 内连接

joininner join
两表连接字段的交集,不能join的行不显示。

select tb1.name,tb2.name
from table1 tb1
join / inner join table2 tb2
on tb1.id = tb2.id;

4.2.2 左外连接 & 右外连接

left joinleft outer join
保留左表所有数据,右表补空。
右外连接 相反。

select tb1.name,tb2.name
from table1 tb1
left/right join table2 tb2
on tb1.id = tb2.id;

4.2.3 满外连接

full joinfull outer join
保留两表左右,不能连接的字段补空。

select tb1.name,tb2.name
from table1 tb1
full join table2 tb2
on tb1.id = tb2.id;

4.3 多表连接

select*
from table1
join table2
on table1.id = table2.id
join table3
on table2.name = table3.name
(select id, namefrom stu_infowhere course_id = '01'
) t1
full outer join
(select id, namefrom stu_infowhere course_id = '02'
) t2
on t1.id = t2.id
full outer join
(select id, namefrom stu_infowhere course_id = '03'
) t3
-- 如果某id 不在t1中在t2中
-- 如果t1.id 为空则返回t2.id,如果不为空则返回t1.id
on nvl(t1.id, t2.id) = t3.id

4.4 笛卡尔积

select *
from table1
join table2-- 或
select *
from table1, table2

5. union 纵向拼接

  1. 两表上下拼接,对应字段的数量、类型都必须相同;
  2. 对应字段名不一样,能连接上;最终字段名以第一个表的字段名为准;
  3. union 连接的必须是select查询语句;
  4. 连接完后,当成一个select查询使用就行;
  5. union all 不会对相同数据去重,union会对上下两部分相同部分去重。
select *
from stu
where score = 30
union
select *
from stu
where score = 40
;

6. 排序

6.1 order by 全局排序

默认升序(asc), desc 降序descend
hive 最终执行reduce时,只能一个reduce以实现全局排序,数据量大时order by不合适;
可以使用order by + limit n ,每个Map取出n个,减少了reduce时的压力

select*
from table1
order by col_name desc
;

6.2 sort by reduce内部排序

保证每个reduce内有序,全局不保证有序。

-- 设置reduce个数
set mapreduce.job.reduces=3;
-- 查看reduce个数
set mapreduce.job.reduces;-- reduce内部排序
select*
from emp
sort by col_1 desc;

7. 其他

7.1 select中判断筛选出null

7.1.1 MYSQL ifnull

筛选出第二大的,但可能初筛排序后只有一个,再筛第二大为null
ifnull 指定为null时,替换为什么值。

selectifnull((selectsalaryfrom Employeeorder by salary desclimit 1offset 1),null) as No2_highest_salary

7.1.2 Hive SQL if( , , )

如果column是null,返回第二个值,不是则返回第三个值

if(column is null, 'IS NULL', 'IS NOT NULL')
http://www.ritt.cn/news/6046.html

相关文章:

  • 建站公司哪个平台最好广州seo关键字推广
  • 国外做兼职网站设计陕西seo关键词优化外包
  • 织梦手机wap网站标签调用百度seo关键词排名优化工具
  • 专业地推团队电话产品seo优化
  • 高新网站开发多少钱seo的中文含义是什么意思
  • 营销型网站建站要素南昌seo网站管理
  • appstore下载免费软件长春seo关键词排名
  • 哪家网站遴选做的比较好推广链接怎么自己搞定
  • 怎样开网站电商网站搭建
  • 常州网站建设公司巧誉友网络营销手段和技巧
  • h5响应式网站是什么搜索引擎排名谷歌
  • 建设部网站政策法规在线培训课程
  • 网站ftp搜索引擎营销的案例
  • 康巴什网站建设西安百度竞价推广
  • 开个人网站如何赚钱学大教育培训机构怎么样
  • wordpress插件文件夹在哪seo成创网络
  • 杭州滨江的网站建设公司百度指数官方版
  • 黄石专业网站建设推广企业网络营销推广方案
  • 做随车吊网站要多大bt蚂蚁磁力搜索天堂
  • 公司网站备案需要什么资料app推广软件有哪些
  • 界面做的最好的网站竞价推广返点开户
  • 珠海市网站开发公司电话关键词分析软件
  • 南京小程序开发搜索引擎优化的英文
  • 做网站的步骤是什么网络建站流程
  • 网站正在建设中敬请营销型网站外包
  • 做网站设计用到的软件seo发帖工具
  • ftp 网站 怎么上传网络口碑营销案例
  • 建设银行个人网银登录网站做优化好还是推广好
  • 网站页面架构代做百度首页排名价格
  • h5做商城网站黑马教育培训官网