数据库中sum和count的区别

今天在hive上面写了一个HQL,当时业务需求是查询出计算出订单的总数,当时我没有多想就直接写了:

select count(ord) from ord_day where ..

然而数据对不上,我才意识到count 是数个数, sum 是求和啊。他们不一样。所以我换成sum结果就出来了;

下面结合自己的理解总结一下:

sum()函数和count()函数的区别:

1)求和用累加sum(),求行的个数用累计count()

2)数据库中对空值的处理:sum()不计算,count()认为没有此项;

示例:

SUM是对符合条件的记录的数值列求和

COUNT 是对查询中符合条件的结果(或记录)的个数

例如:

表fruit

id     name    price

1     apple     3.00

2     pear       4.00

select count(price) from fruit; ----执行之后结果为:2  (表示有2条记录)

select  sum(price) from fruit;---执行之后结果为:7:00(表示各记录price字段之和为7.00)



你可能感兴趣的:(hive,oracle,mysql)