Mysql计数频率

non*_*ipt 4 mysql arrays frequency count

我已经检查了类似的问题,但它在我的确切问题中没有帮助.

所以,我的表是这样的:

id age
1  30
2  36
3  30
4  52
5  52
6  30
7  36
Run Code Online (Sandbox Code Playgroud)

等等..

我需要计算年龄的频率:

age freq
30   2
36   3
52   2
Run Code Online (Sandbox Code Playgroud)

我怎么能抓住这个频率?在此之后,我将需要使用该数据,因此可能需要使用数组?谢谢!

function drawChart() {

      // Create the data table.

      var data = new google.visualization.DataTable();
      data.addColumn('string', 'age');
      data.addColumn('number', 'freq');

        <?php
            while($row = mysql_fetch_row($result)) 
            {
            $frequencies[$row[0]] = $frequencies[1];
            echo "data.addRow(['{$row[0]}', {$row[1]}]);";
            }

        ?>
Run Code Online (Sandbox Code Playgroud)

目标是建立一个图表

Nic*_*nks 8

您需要按公共年龄对行进行分组,然后计算每组中的行数:

SELECT age, COUNT(*) AS freq FROM ages GROUP BY age
Run Code Online (Sandbox Code Playgroud)

然后将其转换为数组,在PHP中执行此操作:

$frequencies = array ();
$result = mysql_query('SELECT age, COUNT(*) AS freq FROM table GROUP BY age');
if($result === false) { handle error here... }
while($row = mysql_fetch_row($result)) {
    $frequencies[$row[0]] = $row[1];
}
Run Code Online (Sandbox Code Playgroud)

您现在有一个名为$ frequency的关联数组,其中年龄为键,频率为值.