简单地说就是计算某个类型的数据在一张表中出现的频度,例:
mysql> SELECT sex, COUNT(*) FROM table GROUP BY sex;
+--------+----------+
| owner  | COUNT(*) |
+--------+----------+
| 男     |       15 |
| 女     |        2 |
+--------+----------+
上面这句就是计算一个表中男、女的人数

解决方案 »

  1.   

    是不是这个意思.是我给出字段里相同的为一组.然后你就可以利用count来统计他的数目.主要是和count来搭配使用的.不过如果这么理解的话count统计出来的是什么是那一个的.是数组吗?
      

  2.   

    是不是这个意思.是我给出字段里相同的为一组.然后你就可以利用count来统计他的数目.主要是和count来搭配使用的.
    基本上可以用你这些话来概括group by的作用
      

  3.   

    mysql> SELECT sex, COUNT(*) FROM table GROUP BY sex;
    不好意思把你也给弄湖涂了.我只想知道他有什么必要性.
    就上面的而然.他的作用:
    我的理解是分组对吧.男的一组女的一组.他分完了以后对整个语句又有什么影响.
    是count(*)变成统计男的数目和女的数目了.而不是全部的是吗?如果是这样我怎么得到这个值哪.能再给我一个例子吗.麻烦你了.呵呵.想的太多了.
      

  4.   

    就是一个表中如果有相同的记录,那么就取其中一条
    count()和group by合用,就是统计各分组的数目,如果单单只有一个count而没有group by 那么就统计所有记录的总数了。取值:用AS一个别名就可以了
    $query="select sex ,count(*) as total from table group sex";
    $result=mysql_query($query);
    echo "<table>";
    echo "<tr><td>性别</td><td>人数</td></tr>";
    while($row=mysql_fetch_array($result))
    {
      echo "<tr>";
      echo "<td>".$row[sec]."</td>";
      echo "<td>".$row[total]."</td>";
      echo "</tr>";
    }
    echo "</table>";不知你对上面的答复是否满意,若有问题,请尽管问!
      

  5.   

    再举一个例子:
    select sex,max(ages) as age from table group by sex;
    +--------+----------+
    | owner  |   age    |
    +--------+----------+
    | 男     |       75 |
    | 女     |       35 |
    +--------+----------+
    上面的意思就是根据性别取这个表中年纪最大的一位。
      

  6.   

    $query="select sex ,count(*) as total from table group sex";
    这句有错
    $query="select sex ,count(*) as total from table GROUP BY sex";不知道你运行的结果有什么用.是什么样的.我以你的方法试了.得了一个结果是2我很不解.不管从那里他的值也不应该为二.我想要一个group起必要作用的例子可以吗/真是麻烦你.