点击链接加入群【php/web 学习课堂】:https://jq.qq.com/?_wv=1027&k=5645xiw
欢迎大家加入,一起讨论学习
常用的函数:
1.AVG() //返回平均值(NULL不包括在计算中)
2.COUNT() //返回列值的数目(NULL不包括在计算中)
3.MAX() //返回列中最大值(NULL不包括在计算中)
4.MIN() //返回列中最小值(NULL不包括在计算中)
5.SUM() //返回列值总数
6.GROUP BY //分组
7.ORDER BY //排序
以上函数,使用率会多一些,还有更多函数,请参考手册:http://www.w3school.com.cn/sql/sql_func_avg.asp
演示表数据:
1.AVG()
SELECT AVG(age) as age,count(age) as sum FROM cs_user
图:
AVG()函数是计算数值的平均值,所以一定要是数字,字符串可就没效果了,需要注意的是,数据本身有9条,因为AVG()函数不会计算 NULL,所以只返回了8条数据的平均值,并且用了COUNT()函数查看了一下,确实只计算了8条。。。 as 关键字,给此列名临时换一个别名,转换查看,否则输出的会是 AVG(age) 和 COUNT(age)
2.COUNT()
SELECT count(*) as count,count(age) as age FROM cs_user
图:
COUNT()函数是计算你查找的数据,有多少行,会返回一个总数
3.MAX()
SELECT MAX(age) as age FROM cs_user
图:
4.MIN()
SELECT MIN(age) as age FROM cs_user
图:
5.SUM()
SELECT SUM(age) sum FROM cs_user
图:
以上,注意到了吗?即使不用写 as 关键字,一样可以加一个别名的,as可以省略,再说一下,这个别名并不是给表的列改名字,而是将查询出来的结果修改了一个临时名字,让人看着更简单、舒服点
6.GROUP BY
SELECT id,SUM(age) sum FROM cs_user GROUP BY id
图:
如果不用 GROUP BY 分组会怎么样呢?
图:
我们会发现,ID有9条数据,只返回了一条,是因为SUM函数只返回了一条数据,如果不分组的话,则会出现这种情况。GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
7.ORDER BY
SELECT id,age FROM cs_user ORDER BY age
图:
倒着排序:SELECT id,age FROM cs_user ORDER BY age desc
图:
ORDER BY 分组,默认情况下,是从小到大的,想要倒叙(从大到小),在后面添加 DESC,如果你想增加一条约束,让他从小到大,将DESC改成ASC,ASC就是从小到大