数据库
文章平均质量分 66
空城gang
大起大落谁都有,拍拍灰尘继续走!
人生,一半清醒,一半释然。
展开
-
数据库SQL中求平均函数avg对于值为NULL和值为0的计算区别
a b 3 3 2 2 0 NULL 4 4 具体如表所示对a求平均:avg(a)=(3+2+0+4)/4=9/4 对b求平均:avg(b)=(3+2+4)/3=9/3结论:avg求平均时自动去除NULL原创 2020-08-08 21:20:24 · 4087 阅读 · 0 评论 -
Hive和传统数据库的区别
1)数据存储位置Hive存储在HDFS。数据库将数据保存在块设备或者本地文件系统中。2)数据更新Hive中不建议对数据的改写。而数据库中的数据通常是需要经常进行修改的, 3)执行延迟Hive执行延迟较高。数据库的执行延迟较低。当然,这个是有条件的,即数据规模较小,当数据规模大到超过数据库的处理能力的时候,Hive的并行计算显然能体现出优势。4)数据规模Hive支持很大规模的数据计算;数据库可以支持的数据规模较小。...原创 2020-08-08 21:09:06 · 605 阅读 · 0 评论 -
Hive中行,列互换
表AID num 1 2 1 3 1 4 2 6 2 8 ...原创 2020-04-14 15:28:36 · 289 阅读 · 0 评论 -
SQL查询用户的最长连续登陆天数
题目重点:连续设表名字:user_login第一步:使用ROW_NUMBER()窗口函数按UID分组,按date1降序排-- 第一段首先根据用户分组,登陆时间排序,结果按照登陆时间升序排列 SELECT UID, date1, row_number() OVER(PARTITION BY UID order by date1) as so...原创 2019-08-26 21:09:36 · 27948 阅读 · 16 评论 -
数据库第一范式、第二范式、第三范式
第一范式(对列要求):对属性的原子性;要求属性具有原子性,即:列不可以再拆分(一个字段只存储一项信息)eg:初二年级3班学生小明 姓名 学号 年级 班级 错误存储 小明 001 初二年级3班 正确存储 小明 001 初二 3班 第二范式 (对行要求):记录的唯一性,要求记录有唯一标识,即不存...原创 2019-08-28 10:38:16 · 288 阅读 · 0 评论 -
hive mapjoin 与 数据倾斜
selectt2.a,t2.bfromtable t1 join table2 t2on ( t1.a=t2.a and t2.dt=20180802)该语句中B表有30亿行记录,t1表只有100行记录,而且t2表中数据倾斜特别严重,有一个key上有15亿行记录,在运行过程中特别的慢,而且在reduece的过程中遇有内存不够而报错。MAPJION会把小表全部读入内存中,...原创 2019-08-28 10:58:13 · 382 阅读 · 0 评论 -
SQL:函数:COALESCE()
主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格式如下:COALESCE ( expression,value1,value2……,valuen)返回第一个不为NULL的值eg: SELECT COALESCE(NULL, 2, 3)SELECT COALESCE(NULL, NULL, 3)...原创 2019-08-29 10:48:07 · 2799 阅读 · 1 评论 -
SQL NVL()函数
NVL函数是一个空值转换函数1.NVL(表达式1,表达式2)如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。SELECT NVL(2,1) as numSELECT NVL(NULL,1) as numSELECT NVL(NULL,NULL) as num...原创 2019-08-29 15:27:57 · 1386 阅读 · 0 评论 -
HIVE窗口函数按日期累加 (取消费满50的日期,满100的日期)
取每个顾客消费满50、满100时的日期表如下图:name costdate num jack 2015-01-01 10 tony 2015-01-02 15 jack 2015-02-03 23 tony 2015-01-04 29 jack 2015-01-05 46 jack 201...原创 2019-09-16 15:30:12 · 3559 阅读 · 0 评论 -
Hbase的基础知识(表的操作,数据操作)
Hbase的应用场景以及特点:1.海量数存储关系型数据库:列:传统数据库 不超过30 。Hbase: 列:上百万的列 行:上百亿行2.准时查询3.Hbase实例:交通 各路段摄像头 金融 电商 移动Hbase的特点:1.容量大:百亿行 百万列2.面向列3.多版本4.稀疏性5...原创 2019-09-26 14:25:08 · 397 阅读 · 0 评论 -
MYSQL中计算某天属于第几周,并且取出周一到周日的日期做为周
date_format为表dim_date日期字段--------------------------------------------------------------------------select YEARWEEK(date_format,1) as yearweek, min(date_format) as begin_date, ma...原创 2019-08-26 18:22:27 · 3026 阅读 · 2 评论 -
SQL求出每门课程成绩都大于80分的学生姓名
表Aname subject score zhangsan math 80 zhangsan chinese 90 wangwu math 70 wangwu chinese 85 aa math 90 aa chinese 95 ...原创 2019-08-13 11:26:52 · 3422 阅读 · 0 评论 -
数据仓库 缓慢变化维
缓慢变化维处理方法:什么是缓慢变化维:缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题。比如学生的班级,年级等表中的处理方法:1.重写覆盖:初始的维度表学号 姓名 年级 20190101 王五 一...原创 2019-08-19 10:36:43 · 698 阅读 · 0 评论 -
HIVE与MySQL的区别
HIVE:中字段类型为string MySQL:对应字段类型为varcharHIVE:中实现笛卡尔积为 FULLjoin MySQL:中实现笛卡尔积为CROSSjoinHIVE:中注释为 -- MySQL: 中注释为空格 -- ...原创 2019-07-29 16:50:37 · 802 阅读 · 0 评论 -
Hive统计每个月在职的人员
表里只有员工号ID,注册日期,离职日期。思路1:第一:新建一个日期表去笛卡尔积连接员工信息表第二:分情况讨论: 当离职日期为空时,注册日期小于等于当前日期为1, 当离职日期不为空时,注册日期小于等于当前日期 并且离职日期大于等于当前日期为1以下是在HIVE中写的,如果是MySQL需要将full join改为cross joinselect...原创 2019-07-29 17:03:38 · 2190 阅读 · 0 评论 -
HIVE 总体标准差stddev()
-- 1.聚合函数select col, stddev(num) as stddev_colfrom ( select 'A' as col, '1' as num union all select 'A' as col, '2' as num union all select 'A' as col, '3' as num union all...原创 2019-07-29 17:26:15 · 2831 阅读 · 0 评论 -
HIVE中窗口函数的使用
drop table if exists tmp_dw_dahai.fact_clue_state_log;create table if not exists tmp_dw_dahai.fact_clue_state_log stored as parquet asselect a.sale_id,a.clue_id,a.clue_status,a.start_time,fro...原创 2019-07-30 10:38:35 · 298 阅读 · 0 评论 -
HIVE窗口函数
我自己建的一个临时表:select 'A' as name ,1 as num,2 as ddunion allselect 'A' as name ,2 as num,3 as ddunion allselect 'A' as name ,3 as num,7 as ddunion allselect 'B' as name ,4 as num,1 as ddunion ...原创 2019-07-30 16:19:07 · 135 阅读 · 0 评论 -
Mysql 连接Navicat解决1251 Mysql 8.0 1251 client does no support authentic...问题
mysql安装后报错Mysql 8.0 1251 client does no support authentic步骤:一.打开如下图页面,点击红色部分输入密码二、解决1.查看用户信息select host,user,plugin,authentication_string from mysql.user;(自己解决后图片删除,借用参考连接的图片)...翻译 2019-08-05 20:00:03 · 166 阅读 · 0 评论 -
python3.6使用pip安装mysqldb报错,3.6后改为pymysql
通过Python3.6 连接mysql数据库导入mysqldb报错#!/usr/bin/python# -*- coding: UTF-8 -*-import pymysql# 打开数据库连接db = pymysql.connect("localhost", "用户名", "密码", "数据库名", charset='utf8' )# 使用cursor()方法获取...原创 2019-08-06 10:31:26 · 490 阅读 · 0 评论 -
数据库索引最左原则
索引最左原则:如果A B C建索引:查找走索引:AA BA B C其他不走索引:比如: B C B C数据库索引详细介绍:创建索引:1、普通索引:CREATE INDEX indexName ON 表名(列名); 2、唯一索引:CREATE UNIQUE INDEXindexName ON 表名(列名);删...原创 2019-08-08 20:04:41 · 3315 阅读 · 0 评论 -
数据库表字典值不唯一用逗号隔开如何取值
表A 表B 需要的结果:第一步:运用 for xml path 和 charindexselect A.id,( select ','+B.name from B where charindex( ','+B...原创 2018-07-03 16:40:20 · 697 阅读 · 0 评论