数据库表中所有出现的单个数字的总和

时间:2012-06-03 22:50:04

标签: php sql arrays

我正在尝试将数据库表中每个单独数字的所有匹配项合计,并以关联数组的形式返回它们。

例如,该表格可能包含以下条目:1 3 4 2 1 2 1 1 4 3 3 4 2

总计时,这将是1 = 4,2 = 3,3 = 3,4 = 3.

理想情况下,这将作为数组返回,其键为“number”和“total”。

2 个答案:

答案 0 :(得分:3)

您需要的SQL代码是:SELECT num AS number, COUNT(num) AS occurrences FROM yourtable GROUP BY num

在答案中,每行会有第一个字段的num和第二个字段的出现次数。然后你可以创建一个数组并让它分开,只需通过sql响应

循环

获取数组会是这样的(不是经过测试的代码,只是一个指南):

$myArray = array();
while($row = mysql_fetch_array( $data ))
{
     $myArray[$row["num"]] = $row["occurrences"];
}

答案 1 :(得分:0)

一种选择是获取结果并使用array_count_values

$arr = array_count_values($arr);

在SQL查询中,您可以对COUNTGROUP BY执行相同操作:

SELECT number, COUNT(*) as total FROM mytable GROUP BY number

最后一个将返回两列相应的数据:

------------------
| number | total |
------------------
| 1      | 4     |
------------------
| 2      | 3     |
------------------
...