一句话从 MySQL 取出重复行[亲测有效]

一句话从 MySQL 取出重复行[亲测有效]按该字段分组后,组内行数大于 1 的就是重复行。大于 1 要写入 having;但仅用 group+having 只能得到汇总值,不是明细数据,要得到明细还要用子查询重复遍历: select * f…

一句话从 MySQL 取出重复行

按该字段分组后,组内行数大于 1 的就是重复行。大于 1 要写入 having;但仅用 group+having 只能得到汇总值,不是明细数据,要得到明细还要用子查询重复遍历:
select *
from A
where g in
       (select  g
       from A
       group by g
       having count(*)>1)

SQL 没有显式的集合数据类型,不能保持住分组后的子集,进而无法针对子集进行后续的多步骤运算,不得不用冗长的子查询。

这类集合运算如果用集算器 SPL 就方便地多,只要一句:
=connect(”mysqlDB”).query(“select * from A”).group(g).select(~.len()>1).conj()

有了显式集合后,就可以对分组子集做更复杂的后续计算,包括枚举分组、重叠分组等,参考分组?原来你是玩儿真的!

当数据不在数据库里时,SPL 执行复杂计算仍然方便:
=file(“d:/t.csv”).import(;,“,”).group…

SPL能很方便地嵌入到JAVA应用,可参考《Java 如何调用 SPL 脚本》

具体使用方法可参考 《如何使用集算器》

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7668.html

(0)
上一篇 2023-03-16
下一篇 2023-03-16

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注