0

データベース テーブル内の個々の数値のすべての出現回数を合計し、それらを連想配列で返そうとしています。

例として、テーブルは次のエントリで構成されます。 1 3 4 2 1 2 1 1 4 3 3 4 2

合計すると、これは 1 = 4、2 = 3、3 = 3、4 = 3 になります。

理想的には、これは 'number' と 'total' のキーを持つ配列として返されます。

4

2 に答える 2

3

必要な SQL コードは次のとおりです。SELECT num AS number, COUNT(num) AS occurrences FROM yourtable GROUP BY num

答えを使用すると、各行の最初のフィールドに数値が表示され、2 番目のフィールドに出現回数が表示されます。次に、配列を作成して、SQLの応答をループするだけで分割できます

配列をフェッチすると、次のようになります(テストされたコードではなく、単なるガイドです):

$myArray = array();
while($row = mysql_fetch_array( $data ))
{
     $myArray[$row["num"]] = $row["occurrences"];
}
于 2012-06-03T22:54:33.830 に答える
0

1 つのオプションは、結果を取得して使用することarray_count_valuesです。

$arr = array_count_values($arr);

COUNTSQL クエリでは、 andを使用して同じことができますGROUP BY

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

最後は、対応するデータを含む 2 つの列を返します。

------------------
| number | total |
------------------
| 1      | 4     |
------------------
| 2      | 3     |
------------------
...
于 2012-06-03T22:52:06.263 に答える