mysql+获取重复_一句话从 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 脚本》。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值