COUNT与SUM

COUNT是计算行数的函数,COUNT(*)可以计算出行数,COUNT(1)也可以计算出行数,1在这里代表一行。

count()函数里面的参数是列名的的时候,那么会计算有值项的次数。 
Sum()函数里面的参数是列名的时候,是计算列名的值的相加,而不是有值项的总数。  当记录的列值为NULL时,COUNT(列名)和SUM(列名)都不计 这条记录。 Count 函数不数带有 Null 字段的记录,除非 expr是星号 (*) 通配符dadefWildcardCharacters.如果使用星号,Count 将计算所有记录的总量,包括有 Null 的字段的记录。Count(*) 比 Count ([Column Name]) 快得多。 SUM(条件表达式),如果记录满足条件表达式就加1; COUNT(条件表达式),不管记录是否满足条件表达式,只要非NULL就加1; select student_id,sum(score) as sum_all_score, sum(score > 60)  as sum_score_passed, count(score) as count_all_score, count(score > 60)  as count_score_passed, avg(score)  as avg_score from tbl_score   group by student_id  having sum(score>60) >=2; 

猜你喜欢

转载自talentluke.iteye.com/blog/1821482
今日推荐