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

最火手游排行榜2021西安seo外包价格

最火手游排行榜2021,西安seo外包价格,实名认证域名可以做电影网站吗,电子商务做网站实训体会一、问题 按每年的1月1日算当年的第一个自然周 (遇到跨年也不管#xff0c;如果1月1日是周三#xff0c;那么到1月5号#xff08;周日#xff09;算是本年的第一个自然周, 如果按周一是一周的第一天) 计算是本年的第几周#xff0c;那么 spark sql 如何写 ? 二、分析 …一、问题 按每年的1月1日算当年的第一个自然周 (遇到跨年也不管如果1月1日是周三那么到1月5号周日算是本年的第一个自然周, 如果按周一是一周的第一天) 计算是本年的第几周那么 spark sql 如何写 ? 二、分析 难点 : Spark SQL 的 DAYOFWEEK 函数返回的每周第一天是周日。边界值的处理即第一周如何判定、第二周从哪天开始计算。 先给出 sql 关键逻辑 CASE WHEN DAYOFYEAR(your_date_column) 7 AND DAYOFWEEK(your_date_column) 2 THEN 1ELSE CEIL((DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 8) / 7.0)END AS week_number多找一些边界值测试一下。 DAYOFWEEK(your_date_column)分别返回 周日 周一 周二 周三 周四 周五 周六 1 2 3 4 5 6 7当1月1日是周一时DAYOFWEEK(your_date_column) 返回 2Spark SQL 中周一是2。 当1月1日是周日时DAYOFWEEK(your_date_column) 返回 1。但是 1月1日都是当年的第一天即 1月1日在 DAYOFYEAR(your_date_column) 永远都返回 1。当1月1日是周日时DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 1 - 1 0 第二周第一天 1月2日 2 - 1 1 当1月1日是周一时DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 1 - 2 -1 第二周第一天 1月8日 8 - 1 7 当1月1日是周二时DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 1 - 3 -2 第二周第一天 1月7日 7 - 1 6 当1月1日是周三时DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 1 - 4 -3 第二周第一天 1月6日 6 - 1 5 当1月1日是周四时DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 1 - 5 -4 第二周第一天 1月5日 5 - 1 4 当1月1日是周五时DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 1 - 6 -5 第二周第一天 1月4日 4 - 1 3 当1月1日是周六时DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 1 - 7 -6 第二周第一天 1月3日 3 - 1 2除了第一行每一行都相差 88 可以拆解为 7 17 代表第二周 1 代表第二周的第一天定义偏移了 1。举个例子如果 your_date_column 是 2024-01-08这是一个周二DAYOFYEAR 为 8DAYOFWEEK 为 3周二 那么计算将是 CEIL((8 - 3 8) / 7.0)即 CEIL(13 / 7.0)结果为 2意味着这是第二周。 还有一种思考方式去理解 7 1 中的 1 DAYOFWEEK(your_date_column) 返回 1~7 , 如果除以 7 的话为了确保不进位 1那么需要把 1~7 向左偏移一位。 1~7 - 1 0~6 DAYOFYEAR(your_date_column) - ( DAYOFWEEK(your_date_column) - 1 ) / 7 都是在同一周 2023-01-01 年是周日, 那么 DAYOFWEEK(your_date_column) 返回的是 1即本周第一天。 WEEKOFYEAR(your_date_column) 返回的是 52, 即 2022 年最后一周。 但实际上我们要求的结果应该是 2023 年的第一周。 2023-01-02 年是周一, 那么 DAYOFWEEK(your_date_column) 返回的是 2即本周第二天。 WEEKOFYEAR(your_date_column) 返回的是 1, 即 2023 年第一周。 但实际上我们要求的结果应该是 2023 年的第二周。 三、验证 drop table your_table;CREATE TABLE your_table (id INT,your_date_column DATE );CREATE OR REPLACE TEMPORARY VIEW temp_view AS SELECT 1 as id, to_date(2023-01-01, yyyy-MM-dd) as your_date_column UNION ALL SELECT 2, to_date(2023-01-02, yyyy-MM-dd) UNION ALL SELECT 3, to_date(2023-02-15, yyyy-MM-dd) UNION ALL SELECT 4, to_date(2023-12-31, yyyy-MM-dd) UNION ALL SELECT 5, to_date(2024-01-01, yyyy-MM-dd) UNION ALL SELECT 6, to_date(2024-01-02, yyyy-MM-dd) UNION ALL SELECT 5, to_date(2024-01-07, yyyy-MM-dd) UNION ALL SELECT 6, to_date(2024-01-08, yyyy-MM-dd);INSERT INTO your_table SELECT * FROM temp_view;SELECTyour_date_column,YEAR(your_date_column) AS year,date_format(your_date_column, EEEE) as WEEK,WEEKOFYEAR(your_date_column) as WEEK_OF_YEAR,DAYOFYEAR(your_date_column) as DAYOFYEAR,DAYOFWEEK(your_date_column) as DAYOFWEEK,CEIL((DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 8) / 7.0) as CEIL,CASE WHEN DAYOFYEAR(your_date_column) 7 AND DAYOFWEEK(your_date_column) 2 THEN 1ELSE CEIL((DAYOFYEAR(your_date_column) - DAYOFWEEK(your_date_column) 8) / 7.0)END AS week_number from your_table; your_date_column year WEEK WEEK_OF_YEAR DAYOFYEAR DAYOFWEEK CEIL WEEK_NUMBER 2023-01-01 2023 Sunday 52 1 1 2 1 2023-01-02 2023 Monday 1 2 2 2 2 2023-02-15 2023 Wednesday 7 46 4 8 8 2023-12-31 2023 Sunday 52 365 1 54 54 2024-01-01 2024 Monday 1 1 2 1 1 2024-01-02 2024 Tuesday 1 2 3 1 1 2024-01-07 2024 Sunday 1 7 1 2 1 2024-01-08 2024 Monday 2 8 2 2 2在这个查询中 date_format 函数的第二个参数 EEEE 指定返回完整的星期名称如 Monday, Tuesday 等。 DAYOFYEAR(your_date_column) 计算出年中的天数。 DAYOFWEEK(your_date_column) 返回一周中的某天以周日为一周的第一天。 当 DAYOFYEAR 小于或等于7且 DAYOFWEEK 不等于2不是周一时日期属于第一周。 否则使用调整后的公式计算周数减去 DAYOFWEEK 的结果加上8然后除以7并向上取整。
http://www.zqtcl.cn/news/695303/

相关文章:

  • jsp 淘宝网站验证码 设计搜索引擎排名
  • pdf怎么做电子书下载网站北京成立公司
  • 网站后台附件无法上传阿克苏建设网站
  • 网站和网址有什么不同佛山狮山网站建设
  • 有免费的微网站是什么可以做长图的网站
  • 南昌手机建站模板18种禁用软件黄app
  • 备案的域名做电影网站wordpress伪静态cdn配置
  • 国家城乡住房建设部网站百度关键词首页排名
  • 安卓软件开发需要学什么软件北京百度推广优化公司
  • 用asp.net 做网站wordpress网址缩短
  • 中国工程建设交易信息网站仿蘑菇街wordpress主题
  • 网站需要怎么做做普通网站公司吗
  • 网站收录平台方法网站建设是不是都需要交费
  • 上海 政务网站建设情况营销模式有哪些 新型
  • 国内做免费视频网站有哪些苏州娱乐场所最新消息
  • 福田建设网站宿迁网站建设案例
  • 建立企业网站的目的和意义人力资源外包收费标准
  • 网站开发前后端分离湘潭seo磐石网络
  • 上海做网站找谁京东网站建设分析
  • 叶榭做网站青岛做网站建设价格
  • 有什么可以在线做奥数题的网站中国建设网官网下载
  • 网站加载特效代码网站建设5000费用
  • 网站切图谁来完成wordpress 谷歌登陆
  • 租房网站建设网站怎么黑
  • 文成做网站搜索引擎优化工具深圳
  • 网站源码下载平台小程序云开发费用
  • 网站建设的数字化和互联网化网站作品
  • 南京专业网站制作公司有哪些亚马逊网网站建设规划报告
  • app免费制作网站模板网站打开速度进行检测
  • 进下加强新闻宣传网站建设wordpress做论坛网站