データベース テーブル内の個々の数値のすべての出現回数を合計し、それらを連想配列で返そうとしています。
例として、テーブルは次のエントリで構成されます。 1 3 4 2 1 2 1 1 4 3 3 4 2
合計すると、これは 1 = 4、2 = 3、3 = 3、4 = 3 になります。
理想的には、これは 'number' と 'total' のキーを持つ配列として返されます。
必要な 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"];
}
1 つのオプションは、結果を取得して使用することarray_count_values
です。
$arr = array_count_values($arr);
COUNT
SQL クエリでは、 andを使用して同じことができますGROUP BY
。
SELECT number, COUNT(*) as total FROM mytable GROUP BY number
最後は、対応するデータを含む 2 つの列を返します。
------------------
| number | total |
------------------
| 1 | 4 |
------------------
| 2 | 3 |
------------------
...