我有一个带有这种表的数据库,有超过 1000 万行。
ID colA colB Length
1 seq1 seq11 1
2 seq1 seq11 11
3 seq3 seq33 21
4 seq3 seq33 14
我想先循环 colA,获取相关的 colB 值,然后检查是否还有其他相同值的出现。例如在 colB (seq11) 中有 2 次出现 colA(seq1),这次我必须将它们组合起来并输出长度的总和。与此类似:
ID colA colB Length
1 seq1 seq11 12
2 seq3 seq33 35
我有点 Java,但因为我的同事用 PHP 编写了所有东西,这只是一个补充,我需要一个 PHP 解决方案。使用Java,我会使用hashmap,这样我就有colA数据一次,只需增加“长度列”的值。
我尝试了此查询以按出现次数分组:
SELECT COUNT(*) SeqName FROM SeqTable GROUP BY SeqName HAVING COUNT(*)>0;