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)
*/
/*
+----------+
| 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)
*/
/*
+-------------------+-------------------+
| 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)
*/
/*
+---------------------+-------------------+-------------------+
| 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 |
+--------------+-------------------+
*/
/*
+--------------+-------------------+
| gname | members |
+--------------+-------------------+
| authors | james rita sue |
| actors | sam louis sue |
| musicians | sue |
+--------------+-------------------+
*/
呃,不知道咋的,最近几天,眼睛在一直的疼,总是有睁不开的感觉。郁闷啊。
文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/05/05/330/
版权所有 © 转载时必须以链接形式注明作者和原始出处!
怎么我感觉这几句语句都是同属一类哇,眼睛疼的话有可能是结膜炎,去看下医生吧,注意用眼卫生 :cool:
[回复]
@小明猪
对啊,都是“聚合函数”啊。呵呵。
嗯。这周末是得去一下医院了。嗯。。
[回复]
学习了,先收藏一下。
[回复]
@短歌行
呵,又好几天没有写MYSQL的了。明天再写一点吧。
[回复]
用到一些,呵呵,不过一般做小东西用不到
[回复]