ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yuk_yu

[求助] 数据对比,要求高效!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-9 09:02 | 显示全部楼层
一招秒杀 发表于 2024-10-8 20:22
人家的眼光就是好,说得果然没错,SQL 1条语句,仅0.052秒,快如闪电,轻松碾压其他,完全不是一个级别的, ...

没见到碾压优势,单文件sql谈不上有优势,办公室吹水专用电脑,只能跑出这个速度了
图片.png
图片.png

TA的精华主题

TA的得分主题

发表于 2024-10-9 10:26 来自手机 | 显示全部楼层
本帖最后由 zpy2 于 2024-10-9 10:38 编辑
yuk_yu 发表于 2024-10-9 08:40
是对的啊,AVL是合并的


模拟结果对吗

TA的精华主题

TA的得分主题

发表于 2024-10-9 10:31 来自手机 | 显示全部楼层
zpy2 发表于 2024-10-9 10:26
没看明白结果表是咋出来的 你能解释一下吗。
另外,开头的sql图片能贴个文本吗?

你的模拟结果对不对,3楼的 图片和你的模拟结果不一致

TA的精华主题

TA的得分主题

发表于 2024-10-9 10:36 来自手机 | 显示全部楼层
飞天篮球猪 发表于 2024-10-7 19:48
仅供参考,换个工具,集算器,54行结果,回车出结果:

大佬,你这个图和楼主开帖的附件结果好像不一样啊 Screenshot_2024-10-09-10-34-57-560_cn.wps.moffice_eng.jpg
能介绍一下这个集算器的语法和思路吗,我咋连题都没看明白。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-9 10:53 | 显示全部楼层
zpy2 发表于 2024-10-9 10:36
大佬,你这个图和楼主开帖的附件结果好像不一样啊
能介绍一下这个集算器的语法和思路吗,我咋连题都没看 ...

结果中第一列的数据是一样的,后面几列前缀我也不知道题主是怎么弄出来的。
思路大概是这样的,首先是把第一列等于第二列的那些行排除掉,再按照第一列分组,把第2列形成的每一个组里的内容去重排序后拼接成串,然后再根据这个串进行分组,把之前第一列中形成的分组中的值排序去重,此时要筛选掉只有一个值的那些行,再展开成列。我也是根据题主的结果凑的。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-9 11:09 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
一招秒杀 发表于 2024-10-8 19:55
有重复的,前置处理了,剩下的 1句轻松搞定,结果为54条记录,仅0.052秒左右,用了2017 版本以上的SQL 才 ...

select count(*) from 筛选重复行;
with T as (select Part,group_concat(AVL) S  from 筛选重复行 group by Part)
select row_number() over () row,S,group_concat(Part) from T
group by S having(count(*))>1;


54?
我这里是46条记录?

是筛选出重复大于一次的吗?

Screenshot_2024-10-09-11-08-30-497_com.mmbox.xbrowser.pro.jpg

TA的精华主题

TA的得分主题

发表于 2024-10-9 11:24 来自手机 | 显示全部楼层
zpy2 发表于 2024-10-9 11:09
select count(*) from 筛选重复行;
with T as (select Part,group_concat(AVL) S  from 筛选重复行 grou ...

如果是这个结果,sql回车出结果,

TA的精华主题

TA的得分主题

发表于 2024-10-9 11:52 来自手机 | 显示全部楼层
kevinchengcw 发表于 2024-10-9 09:02
没见到碾压优势,单文件sql谈不上有优势,办公室吹水专用电脑,只能跑出这个速度了

SQL 仅需1条语句(分2行更合理),你用了多少条语句?
0.052秒与0.326秒快了多少倍?不算碾压式领先吗?你可能没用过专业的数据库,所以不会理解有索引与无索引可能提速千百倍的原理,所以你以为之所以快仅仅是因为硬件,而不是软件,数据结构,这可能触及到了你的知识盲区,你完全没有这方面的知识储备。。

TA的精华主题

TA的得分主题

发表于 2024-10-9 11:56 来自手机 | 显示全部楼层
zpy2 发表于 2024-10-9 11:09
select count(*) from 筛选重复行;
with T as (select Part,group_concat(AVL) S  from 筛选重复行 grou ...

重复,有多条记录完全相同的,只取一条。就算你执行几乎马上就得到结果,也需要点时间,哪怕0.0XX秒,也是可以数字化的,先把你的结果搞正确再来讨论时间快慢。

TA的精华主题

TA的得分主题

发表于 2024-10-9 12:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
zpy2 发表于 2024-10-9 11:09
select count(*) from 筛选重复行;
with T as (select Part,group_concat(AVL) S  from 筛选重复行 grou ...

漏了几行,第一次拼接字符串前要排序去重,第二次按这个拼接串分组时就是54行了

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-1 10:22 , Processed in 0.049155 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表