简单地说就是计算某个类型的数据在一张表中出现的频度,例:
mysql> SELECT sex, COUNT(*) FROM table GROUP BY sex;
+--------+----------+
| owner | COUNT(*) |
+--------+----------+
| 男 | 15 |
| 女 | 2 |
+--------+----------+
上面这句就是计算一个表中男、女的人数
mysql> SELECT sex, COUNT(*) FROM table GROUP BY sex;
+--------+----------+
| owner | COUNT(*) |
+--------+----------+
| 男 | 15 |
| 女 | 2 |
+--------+----------+
上面这句就是计算一个表中男、女的人数
基本上可以用你这些话来概括group by的作用
不好意思把你也给弄湖涂了.我只想知道他有什么必要性.
就上面的而然.他的作用:
我的理解是分组对吧.男的一组女的一组.他分完了以后对整个语句又有什么影响.
是count(*)变成统计男的数目和女的数目了.而不是全部的是吗?如果是这样我怎么得到这个值哪.能再给我一个例子吗.麻烦你了.呵呵.想的太多了.
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>";不知你对上面的答复是否满意,若有问题,请尽管问!
select sex,max(ages) as age from table group by sex;
+--------+----------+
| owner | age |
+--------+----------+
| 男 | 75 |
| 女 | 35 |
+--------+----------+
上面的意思就是根据性别取这个表中年纪最大的一位。
这句有错
$query="select sex ,count(*) as total from table GROUP BY sex";不知道你运行的结果有什么用.是什么样的.我以你的方法试了.得了一个结果是2我很不解.不管从那里他的值也不应该为二.我想要一个group起必要作用的例子可以吗/真是麻烦你.