首页 > MySQL > MySQL 那些你不知道的 聚合函数
2009五月5

MySQL 那些你不知道的 聚合函数

MySQL有一组函数是特意为求和或者对表中的数据进行集中概括而设计的。

这些函数经常用在包含GROUP BY从句的SELECT查询中,当然它们也可以用于无GROUP的查询,这没有限制。

COUNT(col)返回指定列中非NULL值的个数:

说白了,就是看你符合条件的非空的值有多少列。

select count(*) from wp_posts;
/*
+----------+
| count(*) |
+----------+
|        2 |
+----------+
1 row in set (0.00 sec)
*/

MIN()和MAX()返回数字集中的最小值和最大值:

select min(order_amount),max(order_amount) from payout_0;
/*
+-------------------+-------------------+
| min(order_amount) | max(order_amount) |
+-------------------+-------------------+
|             10.00 |            500.00 |
+-------------------+-------------------+
1 row in set (0.02 sec)
*/

SUM()和AVG()函数返回一组数的总和和平均值:

select count(order_amount),sum(order_amount),avg(order_amount) from payout_0;
/*
+---------------------+-------------------+-------------------+
| count(order_amount) | sum(order_amount) | avg(order_amount) |
+---------------------+-------------------+-------------------+
|                 532 |          28600.00 |         53.759398 |
+---------------------+-------------------+-------------------+
1 row in set (0.01 sec)
*/

select 28600.00/532;
/*
+--------------+
| 28600.00/532 |
+--------------+
|      53.7594 |
+--------------+
1 row in set (0.00 sec)
*/

GROUP_CONCAT()函数把一个特定组的值连接成一个字符串:

就是把GROUP子句的值连成一个字符串,呃,这个还是举书中的例子吧

select gname,group_concat(uname) as members from users_groups group by gname;
/*
+--------------+-------------------+
| gname        | members           |
+--------------+-------------------+
|  authors     |  james rita sue   |
|  actors      |  sam louis sue    |
|  musicians   |  sue              |
+--------------+-------------------+
*/

呃,不知道咋的,最近几天,眼睛在一直的疼,总是有睁不开的感觉。郁闷啊。

文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/05/05/330/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

5 Responses to “MySQL 那些你不知道的 聚合函数”

  1. #1 小明猪 回复 | 引用 Post:2009-05-06 14:38

    怎么我感觉这几句语句都是同属一类哇,眼睛疼的话有可能是结膜炎,去看下医生吧,注意用眼卫生 :cool:

    [回复]

  2. #2 simaopig 回复 | 引用 Post:2009-05-06 15:09

    @小明猪
    对啊,都是“聚合函数”啊。呵呵。
    嗯。这周末是得去一下医院了。嗯。。

    [回复]

  3. #3 短歌行 回复 | 引用 Post:2009-05-08 17:03

    学习了,先收藏一下。

    [回复]

  4. #4 simaopig 回复 | 引用 Post:2009-05-08 17:28

    @短歌行
    呵,又好几天没有写MYSQL的了。明天再写一点吧。

    [回复]

  5. #5 TaoGOGO 回复 | 引用 Post:2010-10-15 17:42

    用到一些,呵呵,不过一般做小东西用不到

    [回复]

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)