max最大值:

select max(population) from world.city;

这个函数就是求population的最大值。

min最小值:

select min(population) from world.city;

avg平均值:

select avg(population) from world.city;

sum求和:

select sum(population) from world.city;

count计数:

select count(population) from world.city;

select count(*) from world.city;

count(*)和count某一列一般来说是一样的。但是如果某一行都是空值(null)那么就会有所缺失,所以想计数全部的条数还是count(*)比较稳妥。

这些代码还可以同时写进去:

select avg(population),max(population),min(population),count(population),

sum(population) from world.city;

以上所有的函数都不会去计算空值和null。

distinct:

可以看到countrycode这一字段里面有很多的分组,这样重复的就有很多。那么我们现在想把这些分组只取一个出来,看看都是一些什么分组,要怎么做呢?

select distinct countrycode from world.city

可以看到,当我们用distinct的时候,所有的分组都只被取一个出来了。这就是distinct的作用。

但是这里面只显示countrycode这一字段里面的内容,我们现在要把其他的字段也显示出来,代码如下:

select distinct countrycode,id,name from world.city

原因是因为,当你没有加上id和name的时候,distinct是以countrycode这一字段里面的内容作为一个单位来判断取唯一值的,系统只判断countrycode这一个因素,而当你加入id和name以后,distinct是以countrycode、name、id,这三个合起来作为一个单位来做重复判断的,系统会综合判断这三个元素的整体有没有重复。

除了直接使用distinct以外,我们还可以和count连用,比如:

select count(distinct countrycode) from world.city;

当我们用distinct取唯一值以后,我们再用count来计算出一共有多少唯一值。

最后要注意,以上所有的内容在运行的时候都会忽略null值。如果你的数据里面有null值那你一定要注意了。