mysql查询自然周_Hive和MySQL中自然周保持一致的方法
跨年周:
如果一周中某几天在前一年,而剩下几天在后一年,那么这周是哪一年的周?
Hive中: weekofyear (string date) 返回值为 int
从周一到周日为一个完整的周
若一周7天中,有4天及以上在某年,那么这一周就作为这一年的周。
在hive中需要获取 yyyyww 这样的年周时,采用case when方式生成
-- 返回形式: yyyyww
select case when weekofyear('2021-01-01') < 10 and month('2021-01-01') > 11
then cast((year('2021-01-01')+1)*100 + weekofyear('2021-01-01') as string)
when weekofyear('2021-01-01') > 10 and month('2021-01-01') < 2
then cast((year('2021-01-01')-1)*100 + weekofyear('2021-01-01') as string)
else cast(year('2021-01-01')*100 + weekofyear('2021-01-01') as string)
end as create_date
在hive中需要获取 yyyy-ww 这样的年周时,采用case when方式生成
-- 周期:周(在Spark中没有yearweek函数, 返回值, 如201950, 只有weekofyear,返回值:周, 如:50)
-- 返回形式: yyyy-ww, 解决weekofyear返回值小于9时, 前面不补0问题
-- CASE WHEN写法
select case when weekofyear('2019-12-31') < 10 and month('2019-12-31') > 11
then concat_ws('-', cast(year('2019-12-31') + 1 as string), substr(concat('0', cast(weekofyear('2019-12-31') as string)), -2))
when weekofyear('2019-12-31') > 10 and month('2019-12-31') < 2
then concat_ws('-', cast(year('2019-12-31') - 1 as string), substr(concat('0', cast(weekofyear('2019-12-31') as string)), -2))
else concat_ws('-', cast(year('2019-12-31') as string), substr(concat('0', cast(weekofyear('2019-12-31') as string)), -2))
end as create_date
MySQL中:WEEK(date[, mode]);WEEKOFYEAR(date);YEARWEEK(date[, mode])
mode参数决定了,使用星期几作为一周的开始,以及用什么样的逻辑,来计算一年里的第一周。
WEEKOFYEAR(date) 相当于 WEEK(date, 3)
YEARWEEK(date, 3) 在week之前加上了年份,输出格式与以上hive的case when 输出结果一致。
-- 等价于 MySQL中的: YEARWEEK(substring('2020-11-16', 1, 10), 3);
-- MySQL中:: WEEK(date[,mode]); WEEKOFYEAR(date); YEARWEEK(date[,mode])
-- mode参数决定了, 使用星期几作为一周的开始, 以及用什么样的逻辑, 来计算一年里的第一周
-- 返回形式: yyyyww
select YEARWEEK(substring('2020-11-16', 1, 10), 3);
其中第二个参数是 mode ,具体指的意思如下:
模式一周的第一天范围第1周是第一周......
0星期日0-53星期的第一天是星期日
1星期一0-53一周的第一天是星期一,第一周超过3天
2星期日1-53星期的第一天是星期日
3星期一1-53一周的第一天是星期一,第一周超过3天
4星期日0-53一周的第一天是星期日,第一周超过3天
5星期一0-53一周的第一天是星期一
6星期日1-53一周的第一天是星期日,并且第一周超过3天
7星期一1-53一周的第一天是星期一
mysql查询自然周_Hive和MySQL中自然周保持一致的方法相关推荐
- mysql查询唯一单词_MySql从表中获取唯一单词列表,其中字段中的值用逗号分隔
我不确定这是否可以用纯SQL(MySQL),但无论如何我会问.我有这样一张桌子: ID TAGS ----------------------------- 1 word1,word2,word3 2 ...
- mysql查询交叉连接_复杂的MySQL查询,联合,交叉或自然连接?
MySQL查询有一个奇怪的问题,我无法真正弄清楚如何按照我的意愿组织数据. 我正在PHP中构建搜索脚本,但数据库结构并非如我所愿. 好的,假设我有三张桌子(这些桌子完全组成): EMPLOYES id ...
- 记一次Mysql查询字段为空串在java中使用equals不相等的问题
相关内容: Mysql utf8 和utf8mb4 的区别 Mysql 批量更改数据表和字段的字符集(Mysql UTF-8字符集更改为utf8mb4字符集) 问题 在mysql中查询一条记录,然后使 ...
- PHP中mysql查询全部过程_PHP到MySQL数据查询过程概述_MySQL
摘要 本文概述了从PHP层发起mysql查询请求到mysql server 返回结果集的工作流程,并简单描述了各层可能涉及到的动作和组件.从全局把握整个交互过程. PHP层到MySQL层 Php到sq ...
- mysql查询时,offset过大影响性能的原因与优化方法
遇到的问题 我们大家都知道,mysql查询使用select命令,配合limit,offset参数可以读取指定范围的记录,但是offset过大影响查询性能的原因及优化方法,这次工作中因为要导出40W的数 ...
- php 输出mysql查询结果_php如何输出mysql查询结果
php输出mysql查询结果的方法:首先,用navicat创建一个新的数据库,并创建一个新的表表2::然后在表2中添加新数据,并使用[mysql_connect]函数与页面中的数据库建立连接:然后选择 ...
- mysql 查询最顶级_2018顶级MySQL博客作者
mysql 查询最顶级 We made a collection of the most popular MySQL bloggers, including a link to each indivi ...
- mysql查询结果作为附件_python3+mysql查询数据并通过邮件群发excel附件
python3+mysql查询数据并通过邮件群发excel附件 来源:中文源码网 浏览: 次 日期:2018年9月2日 python3+mysql查询数据并通过邮件群发excel附件 本文 ...
- mysql查询班级作业提交情况_MySQL中查询获取每个班级成绩前三名的学生信息
标签: 今天有同事说到了怎么MySQL中查询获取每个班级成绩前三名的学生信息,在网上查了查,然后写出代码,很快就OK了. CREATE TABLE t_testscore( pk_id INT ...
- 分分钟解决 MySQL 查询速度慢与性能差(中)
点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 唐成勇 https://segmentfault.com/a/119000001374 ...
最新文章
- 最新技术前沿与产业风向标来了,百度研究院发布2021年十大趋势
- Google的深度学习强在哪?谷歌首席科学家说了这些奇妙特性
- 【创业】创业公司股权架构设计注意事项
- c语言用数组发送大写字母怎么读,c语言字符数组大小写转换
- 递归转化成非递归过程_8086微处理器中的递归和重入过程
- python list切片步长
- webRTC之Mesh/MCU/SFU通信架构区别(九)
- 用python画椭圆解释_怎么用python画椭圆?
- ActiveReports报表控件V11 SP1版本正式发布!
- 最后一本书 上机5(翻书)
- 计算机图形学笔记(六)
- mysql 最左原则是什么意思_数据库中的“紧左原则”是什么意思?
- 内置python数据类型_python基础之数据类型及内置方法
- 《计算机网络原理》IP部分
- 郭锡良古代汉语复习重点总结
- mysql客户端如何登录_MySQL-客户端登录问题
- C++词法记号规则之标识符 关键字 操作符 分隔符 空白符
- journald.conf 中文手册
- 坑,爱转换PDF转换器,熊猫办公
- Vue 中使用 Font Awesome 字体图标
热门文章
- 百度、腾讯和阿里内部的级别和薪资待遇是什么样的?
- 神经网络和深度学习(一)——初识神经网络
- 添加微信防封域名或者网址、url-不死鸟微信防封系统api-SDK(五)
- 十大概念:每个软件工程师的必备
- 数理统计 -次序统计量、充分统计量
- 慕课软件工程(第五章.初始模块结构图精化的原则)
- Android插件化开发指南——实践之ViewPager+Fragment优化(预加载和懒加载)
- linux超市参数,TI AM5708开发板产品参数介绍
- c语言实验作业感想,c语言程序报告实验总结(共10篇).docx
- Heartbeat高可用软件服务--1.Heartbeat介绍(2)