MySQL有一组函数是特意为求和或者对表中的数据进行集中概括而设计的。
这些函数经常用在包含GROUP BY从句的SELECT查询中,当然它们也可以用于无GROUP的查询,这没有限制。
COUNT(col)返回指定列中非NULL值的个数:
说白了,就是看你符合条件的非空的值有多少列。
[cc lang=’mysql’]
select count(*) from wp_posts;
/*
+———-+
| count(*) |
+———-+
| 2 |
+———-+
1 row in set (0.00 sec)
*/
[/cc]
MIN()和MAX()返回数字集中的最小值和最大值:
[cc lang=’mysql’]
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)
*/
[/cc]
SUM()和AVG()函数返回一组数的总和和平均值:
[cc lang=’mysql’]
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)
*/
[/cc]
GROUP_CONCAT()函数把一个特定组的值连接成一个字符串:
就是把GROUP子句的值连成一个字符串,呃,这个还是举书中的例子吧
[cc lang=’mysql’]
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 |
+————–+——————-+
*/
原文:http://www.xiaoxiaozi.com/2009/05/05/330/