报表查询中count用法

来源:互联网 发布:网络配置异常怎么修复 编辑:程序博客网 时间:2024/06/10 18:01

项目的报表开发,需要对数据的部分列进行count()查询,然后把统计数据返回,放在图表中显示。
本文对数据查询部分做一些小结。

  1. 只对一列的数据统计的时候可以按照下面的代码进行统计,:
select user.name,count(nvl(user.name),0) count_from user group by user.name

2 对多个列的数据统计的时候可以按照下面的代码进行统计,:

select user.grade,       user.name,       grade.name,       count(1) totalfrom user left join  grade on grade.id=user.gardegroup by user.grade, user.name

count(1),其实就是计算一共有多少符合条件的行。
1并不是表示第一个字段,而是表示一个固定值。
其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1.
同理,count(2),也可以,得到的值完全一样,count(‘x’),count(‘y’)都是可以的。一样的理解方式。在你这个语句理都可以使用,返回的值完全是一样的。就是计数。
count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些。

0 0
原创粉丝点击