探索在数据开发中利用chatgpt提高代码质量---第三篇

题目三:

打折日期交叉问题:计算每个品牌总的打折销售天数,注意其中的交叉日期

(1)数据准备

-- 创建手机品牌促销表
CREATE TABLE bdms.promotion_table (brand string,start_date string,end_date string
);
-- 插入示例数据
INSERT INTO bdms.promotion_table (brand, start_date, end_date) VALUES('Apple', '2022-07-09', '2022-07-18'),('Apple', '2022-07-07', '2022-07-10'),('Samsung', '2022-07-08', '2022-07-12'),('Samsung', '2022-07-16', '2022-07-20'),('Xiaomi', '2022-07-11', '2022-07-15'),('Xiaomi', '2022-07-14', '2022-07-22'),('Huawei', '2022-07-13', '2022-07-16'),('Huawei', '2022-07-19', '2022-07-24');

 (2)自己写法:

with t1 as(selectbrand ,start_date,end_date,LAG(end_date) OVER (PARTITION BY brand ORDER BY start_date) lag_end_date,min(start_date) over(partition by brand order by start_date rows between UNBOUNDED PRECEDING and current row) min_start_date,max(end_date) over(partition by brand order by start_date rows between UNBOUNDED PRECEDING and current row) max_end_date
from bdms.promotion_table
),
t2 as(
select brand,max(t1.max_end_date) max_end_date
from t1
group by brand
)
select  a.brand,if(a.lag_end_date>a.start_date,datediff(a.max_end_date,a.min_start_date)+1,(datediff(a.max_end_date,a.min_start_date)+1)-(datediff(a.start_date,a.lag_end_date)+1-2)) as promotion_days
from t1 a
join t2 b
on a.brand=b.brand
and a.max_end_date = b.max_end_date

(3)Chatgpt生成:

select brand,sum(if(end_date>coal_start_date,datediff(new_end_date,start_date),datediff(new_end_date,start_date)+1)) days
FROM (SELECT brand,start_date, end_date,COALESCE(LEAD(start_date) OVER (PARTITION BY brand ORDER BY start_date),end_date) coal_start_date,LEAST(end_date, COALESCE(LEAD(start_date) OVER (PARTITION BY brand ORDER BY start_date),end_date)) new_end_dateFROM bdms.promotion_table
) AS subquery
group by brand

(4)分析结果:

a.对比运行时长:

自己写的运行时长:85.1s

Chatgpt运行时长:44.6s

 b.结果阐述:

缺点:本题目涉及到有交叉日期在统计的时候不允许重复,利用Chatgpt生成的sql无法同时满足有交叉日期和没有交叉日期的统计,多次生成的sql只能满足一个条件,需要自己修改代码,才能满足需要

优点:Chatgpt生成的sql经过简单的修改,运行时间比我最开始自己写的运行时间短,而且它提供了一种新的思路,用到了我之前一直没有用过的LEAST()函数,让代码更加简洁

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49317.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

造手机、“+ AI”,掉队的蔚来瞎折腾?

对标豪华品牌BBA,自建换电站,蔚来汽车曾凭借先发优势,一度成为造车新势力的领头羊,但最近两个月,蔚来的单月交付量仅有6000多台,渐露掉队之相。 主业低迷,蔚来传出新消息。两天前,工…

RobotGPT:机器人需要从“功能机”向“智能机”升级

| 科 | 技 | 杂 | 谈 | 中国通信行业第一自媒体 如同手机“功能机”向“智能机”的升级,在人形机器人进入千家万户,真正改变我们生活的过程中,它们要为我们连接外界的信息、产品和服务,就必须,也必然身在本地&#xff…

会Excel,还有必要学习Python做数据分析吗?

众所周知,Python是一款非常优秀的编程语言,具有简单易学、多种应用场景、开源免费等优势,它在数据科学、人工智能、网络开发等领域得到广泛应用,成为了目前最受欢迎和流行的编程语言之一。 以前在数据分析课上,经常有…

游戏脚本用什么语言写_为什么要写分镜头脚本?

分镜头脚本是最实用的影视创作脚本,它是在文学脚本的基础上运用蒙太奇思维和蒙太奇技巧进行再创作的脚本,即根据拍摄提纲或文学脚本,参照拍摄现场的实际情况,分隔场次或段落,并运用形象的对比、呼应、积累、暗示、并列…

Python实战 | 如何抓取tx短片弹幕并作词云图分析

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 本次目的:采集tx短片弹幕,并且做词云图可视化分析 这个不少漫迷应该都看过吧~ 哪里都好,就是更新太慢了一点,剧情磨蹭了一点,哎 那今天我们就来采集一下它的弹幕吧&#xff…

html5中分镜图文脚本,企业宣传片脚本如何撰写分镜头?

企业宣传片脚本如何撰写分镜头? 在整个企业宣传片制作中,宣传片拍摄可谓是其中重要环节。而企业宣传片的拍摄脚本则是沟通宣传片策划与拍摄之间的桥梁所在。企业宣传片脚本可以说是宣传片拍摄过程中策划方案实施的指明灯,为整个拍摄指明方向&#xff0c…

html5分镜头脚本范例,分镜头脚本范本.pdf

分镜头脚本范本.pdf (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 镜 号 景别摄法时间画面解说音 乐 备注 1中景卡住男生和女生的中 景, 男生为背面斜侧, …

html5分镜头脚本范例,分镜头脚本模板(小故事分镜头脚本范例)

分镜头脚本最重要的就是可视化的语言阐述内容,在内容上有场次,镜号,景别,拍摄内容,拍摄方法,声音(人声,音乐,音响),时长,实例图片等 其中,实际图片…

qq一注销账号就服务器繁忙,qq熊熊怎样解除服务器繁忙的问题

熊熊服务器将进行不停机更新升级到最新版本,请您使用自动升级或手动升级将您的熊熊客户端升级为最新,以便体验最新游戏。正在社区的用户在服务器升级时有可能会被强制退出游戏,您可以再次登陆升级即可,对大家造成的不便,敬请谅解! 版本更新内容预知 一、新增小游戏 新增两…

华为手机显示服务器繁忙,显示服务器繁忙

显示服务器繁忙 内容精选 换一换 云耀云服务器的网卡分为主网卡和扩展网卡,主网卡不可删除。本节操作介绍在控制台删除扩展网卡的操作步骤。登录管理控制台。单击管理控制台左上角的,选择区域和项目。选择“计算 >云耀云服务器”。在云服务器列表中,单击待删除网卡的云服…

国内最强微服务框架,必学!

大家好,我是R哥,祝大家五一快乐。 关注了一段时间公众号的小伙伴都知道,R哥的 Spring Cloud 微服务课程每月都会给小伙伴搞一波活动。 51 假期来了,很多小伙伴都在等 51 的活动,这次活动,福利全新升级&…

国内最强微服务框架,不接受反驳!

大家好,我是栈长。 关注了一段时间公众号的小伙伴都知道,栈长的 Spring Cloud 微服务课程每到节假日都会给小伙伴搞一波活动。 很多小伙伴都在等 618 的活动,这次活动,福利全新升级,千万不要错过!&#xff…

【.Net/C#之ChatGPT开发系列】二、C#异步流+SSE通信实现ChatGPT流式响应并实现打字机效果...

【.Net/C#之ChatGPT开发系列】一、开发准备及实现与ChatGPT的初次对话 前面我们利用了ChatGPT提供的聊天API接口,实现了一个简单的聊天应用,可以与ChatGPT进行基本的对话交互,今天我们继续,还请大家点个关注。 👇 当你…

【.Net/C#之ChatGPT开发系列】二、C#异步流+SSE通信实现ChatGPT流式响应并实现打字机效果

目录 1、C#异步流 2、SSE通信 ​一、 服务端接口调整 二、Web端js脚本调整 三、服务端优化 四、Web端再次调整 前面我们利用了ChatGPT提供的聊天API接口,实现了一个简单的聊天应用,可以与ChatGPT进行基本的对话交互,今天我们继续&#…

RocketMQ4.4.0搭建过程记录

版本选型 https://zhuanlan.zhihu.com/p/573949726 官方demo https://rocketmq.apache.org/zh/docs/quickStart/01quickstart/ 官方部署方案选型 https://rocketmq.apache.org/zh/docs/deploymentOperations/01deploy rocketmq-client官方支持 https://github.com/apache/rocke…

北大直博保送生论文涉嫌抄袭?原作者实名举报,北大南开火速调查

【导读】保送北大直博的学生被扒出抄袭了川大学生的SCI论文,还是从论文机构买的? 南开保送北大直博的学生,抄袭川大学生的SCI论文发了本普刊,还是直接英翻中? 更为离奇的是,这篇抄袭论文似乎是从论文辅导…

完成童年的梦想,用python画一个奥特曼

上班闲来无事 画个凹凸曼给女同事博博她开心。 首先奥特曼是由斜的椭圆,圆角矩形,圆形,以及曲线的组成的。此处绘制中,主要应用了曲线的的绘制,将奥特曼画的比较饱满。 本次绘制过过程中,自己编写了两个函…

OpenAI大动作|山姆·奥特曼亲探 GPT4: 极速+便宜将变成现实!

Laf 公众号已接入了 AI 绘画工具 Midjourney&#xff0c;可以让你轻松画出很多“大师”级的作品。同时还接入了 AI 聊天机器人&#xff0c;支持 GPT、Claude 以及 Laf 专有模型&#xff0c;可通过指令来随意切换模型。欢迎前来调戏&#x1f447; <<< 左右滑动见更多 &…

Sam Altman 山姆奥特曼:强化学习进展 Reinforcement Learning Progress

目录 Reinforcement Learning Progress 强化学习进展 PPO(近端策略优化)

Sam Altman 山姆奥特曼:How To Invest In Startups如何投资初创公司

How To Invest In Startups 如何投资初创公司 There is a lot of advice about how to be a good startup founder. But there isn’t very much about how to be a good startup investor. 关于如何成为一名优秀的创业公司创始人&#xff0c;有很多建议。但是&#xff0c;关于…