ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-10-9 12:20 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
飞天篮球猪 发表于 2024-10-9 12:02
漏了几行,第一次拼接字符串前要排序去重,第二次按这个拼接串分组时就是54行了

原来如此,感谢分享。


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

试了一下,果然有54行

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-9 12:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zpy2 发表于 2024-10-9 12:20
原来如此,感谢分享。

大佬真牛,你的sql技术也是登峰造极。

TA的精华主题

TA的得分主题

发表于 2024-10-9 12:31 | 显示全部楼层
一招秒杀 发表于 2024-10-9 11:52
SQL 仅需1条语句(分2行更合理),你用了多少条语句?
0.052秒与0.326秒快了多少倍?不算碾压式领先吗?你 ...

如果是当前的主流电脑,速度应该在0.1秒左右,算下来,你也只快了1倍而已,而且还没有按格式写出结果,所以根本谈不上有优势

TA的精华主题

TA的得分主题

发表于 2024-10-9 13:30 | 显示全部楼层
kevinchengcw 发表于 2024-10-9 12:31
如果是当前的主流电脑,速度应该在0.1秒左右,算下来,你也只快了1倍而已,而且还没有按格式写出结果,所 ...

你总共了用多少行代码? SQL 只需要1个 With .. Select 语句2行足矣? 你知道 Excel 处理几万行的数据就很吃力了,而数据库可能 可以轻易处理几亿条记录的表? 你的从生从来没有体验过 闪电般 抽取海量数据,不曾体会过索引对查询速度的提升,所以你无法理解 专业数据库在这方面的提升,都说 软件=结构+算法,你都从未了解三层 多层架构的优越性,所以 你不能 理解 先进架构的 优越性,以为只是少量数据的 0.05秒到0.1秒的这丁点差距。

TA的精华主题

TA的得分主题

发表于 2024-10-9 16:16 来自手机 | 显示全部楼层
kevinchengcw 发表于 2024-10-9 12:31
如果是当前的主流电脑,速度应该在0.1秒左右,算下来,你也只快了1倍而已,而且还没有按格式写出结果,所 ...

还有格式问题,随手1个简单的Pivot 就可以解决的,毫无技术含量,没有半点挑战性,就算上面用逗号隔开也很好啊,为啥非要100%和用户要求的完全一样,略有不同也完全可以接受啊,那不是被人家牵着鼻子走?我实在没兴趣那么死板去写。

TA的精华主题

TA的得分主题

发表于 2024-10-9 16:50 | 显示全部楼层
一招秒杀 发表于 2024-10-9 13:30
你总共了用多少行代码? SQL 只需要1个 With .. Select 语句2行足矣? 你知道 Excel 处理几万行的数据就 ...

你应该从数据源导入到出结果一路算下来再谈数据库的速度优势,离开了预处理,数据库也没那么神,只不过平时会用到的数据库都基本预处理好了,也就是你说的建立索引,相当于把常用结果直接调用当然快,来谈谈一亿的数据导入数据库需要多久呗,现在这个结果,就相当于一个16缸的布加迪与一个30年车龄的准报废车改装的单缸拖拉机跑了20公里才落下一个车位,所以没什么好吹的,布加迪再牛也跟你没半钱关系,你只是会踩油门而已,还只能跑铺装路面

TA的精华主题

TA的得分主题

发表于 2024-10-9 17:41 来自手机 | 显示全部楼层
kevinchengcw 发表于 2024-10-9 16:50
你应该从数据源导入到出结果一路算下来再谈数据库的速度优势,离开了预处理,数据库也没那么神,只不过平 ...

建立索引就是有了预处理结果?你这种想当然的能力应当给满分。数据库不仅有存储数据的能力,最重要还有分析处理数据的能力,算了,你都没用过,就如和文盲讲高等数学,毫无意义。等你自己入门了再回看你上面说的话,就会知道完全不是那么回事。

TA的精华主题

TA的得分主题

发表于 2024-10-9 18:09 | 显示全部楼层
kevinchengcw 发表于 2024-10-9 16:50
你应该从数据源导入到出结果一路算下来再谈数据库的速度优势,离开了预处理,数据库也没那么神,只不过平 ...

我多次问你,你用了多少行代码,你一直避而不答,从楼主的附件及问题,我好像看到100多行VBA代码,我们可以得到,楼主希望速度在30秒以内,楼主的SQL代码,除了注释掉的那个Select,还用了 11个 Select, 而我只用了2个Select , 速度在0.052秒,然后你觉得我仍然入不了您的法眼,我觉得可能 梁静茹给了你太多的勇气,而且你那个 0.1秒 那是你想的,未经验证,而且 Excel 天生残缺,只能t利用到单线程,我估计想达到0.1秒,可能会有些难。

TA的精华主题

TA的得分主题

发表于 2024-10-10 09:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
一招秒杀 发表于 2024-10-9 18:09
我多次问你,你用了多少行代码,你一直避而不答,从楼主的附件及问题,我好像看到100多行VBA代码,我们可 ...

你也同样只谈处理速度,从数据读取到处理结果按格式要求写入工作表的完整时间不也是一直不谈,何况你那个处理速度还是建立在对重复数据已经预处理的基础上的,也没什么说服力。

我这边的实际代码不足60行,包含了debug.print的输出语句,如果我改写成function,是不是也可以吹嘘说一行代码实现呢。实际上vba并不一定需要写太多行,本版本的多数问题都是20行代码内的事,60行代码基本可以解决绝大多数问题了,剩下的基本都是体力活的问题。
我不喜欢上代码是因为看了太多别人悬赏的需求被搬来论坛,在未搞明白提问者的真实目的前,我倾向于先保留代码。
我第一个版本10分钟就写好了,你那0.05秒的是否也是10分钟就能写好呢,第一版当时用时8秒,再优化一下到1.2秒,继续优化,最终0.3秒左右,而且还是在十几年前的商用机上跑出来的用时。本论坛多数活跃的vba玩家都不是靠这个吃饭的,所以可以说他们的乐趣就在于从8秒到0.3秒这个过程,喜欢的是从0到100,而不是在别人99的基础上+1。

你现在的行为就相当于
对钓鱼佬说钓毛线,直接用拖网又快又多;
对改车人说改毛线,直接买布加迪法拉利跑得快;
对登山者说登毛线,坐缆车又快又省力。
你不知道
为了生活的才用拖网,享受生活的才会钓鱼,因为过程才是乐趣所在;
把时速10km的车改造成100km的才叫成就,而不是把极速400的车开到400;
不是所有的山都有缆车,有些风景只有自己有能力才能亲身体味。
所以你经常被喷不是没有道理的

你根本就没搞懂vba玩家的乐趣所在,却跑来笑vba不行,关键是在你擅长的领域,对一个30年前出世的单线程古早语言还取得不了碾压的优势。
本版99%的问题vba都能解决,并不仅限于数据处理,文件处理、图像处理、网抓这些都能做,你那只能吃细粮跑铺装路的工具,喂一点不合格数据都罢工,而vba可以不限制领域,只看玩家的涉猎范围和个人能力,所以你觉得有啥优势可谈。
如果说你用的工具是处理千万亿级数据的,那就去合适的地方交流,而不是跑到一个百万级上限的表格版块来

TA的精华主题

TA的得分主题

发表于 2024-10-10 09:13 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-1 10:36 , Processed in 0.046107 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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