php - PHP 中 Java HashMap 替代品的建议?

标签 php mysql hashmap

我有一个带有这种表的数据库,有超过 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;

最佳答案

这在 SQL 中而不是在编程逻辑中很容易实现:

SELECT colA, colB, SUM(Length) as `length_sum`
FROM SeqTable
GROUP BY colA, colB

当然,您仍然需要 PHP 遍历结果集并对数据执行任何您想执行的操作。

关于php - PHP 中 Java HashMap 替代品的建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13569196/

相关文章:

php - PHP5 对象是通过引用传递的吗?

php - 我无法使用 GAE 在 Windows 上以本地模式运行 WordPress

mysql - PDO 使用 bindParam 返回 MySQL 错误

mysql - 从MYSQL表中导出特定数据

java - 无法解释的类型与错误不匹配

php - 来自 Ajax GET 的语法错误 MySQL

php - 如何从表单在帖子中发送额外变量?

MYSQL:使用相同字段左连接同一个表两次

java - 使用自定义类在 HashMap 上调用 containsKey

java - 无法使用修饰符 "public final"访问 java.util.HashMap$Entry