首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql计数频率

问Mysql计数频率
EN

Stack Overflow用户
提问于 2012-11-15 21:08:02
回答 4查看 12.6K关注 0票数 7

我检查过类似的问题,但它对我的精确问题没有帮助。

所以,我的表是这样的:

代码语言:javascript
复制
id age
1  30
2  36
3  30
4  52
5  52
6  30
7  36

等等。

我需要计算年龄的频率:

代码语言:javascript
复制
age freq
30   2
36   3
52   2

我怎样才能获得这个频率?在此之后,我将需要处理该数据,因此可能需要使用数组?谢谢!

代码语言:javascript
复制
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]}]);";
            }

        ?>

目标是建立一个图表

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-15 21:11:10

您需要按常用年龄对行进行分组,然后计算每组中有多少行:

代码语言:javascript
复制
SELECT age, COUNT(*) AS freq FROM ages GROUP BY age

要将其转换为数组,请在PHP中执行以下操作:

代码语言:javascript
复制
$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];
}

现在有了一个名为$frequencies的关联数组,它以年龄为键,以年龄的频率为值。

票数 11
EN

Stack Overflow用户

发布于 2012-11-15 21:20:58

代码语言:javascript
复制
select age, name, count(*) freq from user_age group by age

Sqlfiddle:http://sqlfiddle.com/#!2/266d5/2

票数 2
EN

Stack Overflow用户

发布于 2012-11-15 21:11:24

代码语言:javascript
复制
select age, count(*) freq from mytable group by age
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13398116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档