
SQL
华夏_数据分析
一些有关数据分析的想法与感悟
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
笔记之【MySQL经典概括】
一条sql语句是怎么执行的? 查看缓存 缓存打开 SQL大小写敏感 哈希查找 验证权限 解析 词法分析 语法分析 生成解析树 预处理 特殊语义处理 权限验证 查询优化 对于select生成执行计划 基于成本的预测 提交给存储引擎 根据表的Meta信息,提交给对应的存储引擎 返回结果 返回结果集 返回状态 ...原创 2019-07-25 09:48:09 · 204 阅读 · 0 评论 -
HiveSQL基础之常用函数
1. 如何把时间戳转换成日期 语法 from_unixtime(bigint unixtime, string format) format 1. yyyy-MM-dd hh:mm:ss 2. yyyy-MM-dd hh 3. yyyy-MM-dd hh:mm 4. yyyyMMdd 举例 SELECT from_unixtime(paytime,'yyyy-MM-dd h...原创 2019-08-16 22:23:23 · 750 阅读 · 0 评论 -
HiveSQL常用技巧
1. 去重技巧—用group by替换distinct 取出user_trade中的全部支付用户 ## 原有写法 SELECT distinct user_name FROM user_trade WHERE dt>'0'; ## 优化写法 SELECT user_name FROM user_trade WHERE dt>'0' GROUP BY user_name; 在2...原创 2019-08-19 22:14:43 · 717 阅读 · 0 评论 -
HiveSQL基础之窗口函数
1. 累计窗口函数 sum(…) over(…) 2018年每月支付总额和当年累积支付总额 SELECT a.month, a.pay_amount, sum(a.pay_amount) over(order by a.month) FROM (SELECT month(dt) as month, sum(pay_amount) as pay_amount FRO...原创 2019-08-18 23:48:35 · 798 阅读 · 0 评论 -
SQLZOO答案之【The JOIN operation】
1. 第一個例子列出球員姓氏為’Bender’的入球數據。 * 表示列出表格的全部欄位,簡化了寫matchid, teamid, player, gtime語句。修改此SQL以列出 賽事編號matchid 和球員名 player ,該球員代表德國隊Germany入球的。要找出德國隊球員,要檢查: teamid = ‘GER’ SELECT matchid, player FROM goal ...原创 2019-08-07 14:15:34 · 997 阅读 · 0 评论 -
SQLZOO答案之【More JOIN operations】
1. 列出1962年首影的電影, [顯示 id, title] SELECT id, title FROM movie WHERE yr=1962; 2. 電影大國民 ‘Citizen Kane’ 的首影年份。 SELECT yr FROM movie WHERE title = 'Citizen Kane' 3. 列出全部Star Trek星空奇遇記系列的電影,包括id, titl...原创 2019-08-09 09:13:21 · 1412 阅读 · 1 评论 -
SQLZOO答案之【SUM and COUNT】
1. 展示世界的總人口。 SELECT SUM(population) FROM world; 2. 列出所有的洲份, 每個只有一次。 SELECT DISTINCT(continent) FROM world; 3. 找出非洲(Africa)的GDP總和。 SELECT SUM(gdp) FROM world WHERE continent = 'Africa'; 4. 有多少個國家具有...原创 2019-08-06 15:26:26 · 1317 阅读 · 0 评论 -
SQLZOO答案之【SELECT within SELECT】
1.原创 2019-08-05 12:09:30 · 1370 阅读 · 0 评论 -
SQLZOO答案之【SELECT from WORLD】
SQLZOO答案之【SELECT from WORLD】 1. 觀察運行一個簡單的SQL命令的結果。 SELECT name, continent, population FROM world; 2. 顯示具有至少2億人口的國家名稱。 2億是200000000,有八個零。 SELECT name FROM world WHERE population>200000000; 3. 找出有...原创 2019-08-04 19:00:13 · 1317 阅读 · 0 评论 -
SQLZOO答案之【SELECT within SELECT】
原创 2019-08-04 18:42:58 · 368 阅读 · 0 评论 -
HiveSQL基础之表连接
1. inner join 内连接,返回两个表的交集 既在user_list_1又在user_list_2的用户 SELECT * FROM user_list_1 as a JOIN user_list_2 as b ON a.user_id=b.user_id; 表连接时,必须进行重命名 on后面使用的连接条件必须起到唯一键值的作用 inner可以省略不写,效果一样 一定要先去重,再...原创 2019-08-17 17:51:32 · 1820 阅读 · 0 评论