Chinaunix首页 | 论坛 | 博客
  • 博客访问: 790988
  • 博文数量: 180
  • 博客积分: 4447
  • 博客等级: 上校
  • 技术积分: 1582
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-03 14:51
文章分类

全部博文(180)

文章存档

2014年(6)

2013年(8)

2011年(125)

2009年(35)

2008年(1)

2007年(5)

分类: Oracle

2011-03-22 09:08:50

今天在itpub论坛看到一位兄弟的BLOG上发表了关于count()函数的文章,文章很简单只有几个例子,如下:
  1. SQL> select * from a;

  2.         ID NAME
  3. ---------- ------------------------

  4.          1 abc
  5.          2 bbb
  6.          3 bbb
  7.          3

  8. 一直以为下面的结果应该是一至的!

  9. SQL> select count(*) from a;

  10.   COUNT(*)
  11. ----------

  12.          4

  13. SQL> select count(name) from a;

  14. COUNT(NAME)
  15. -----------

  16.           3

  17. SQL> select count(1) from a;

  18.   COUNT(1)
  19. ----------

  20.          4

  21. SQL> select count(distinct name) from a;

  22. COUNT(DISTINCTNAME)
  23. -------------------

  24.                   2

总结了一下,如果是count,某个字段,如果这个字段中的值是空,是不计入统计的,如果要统计一共有多少行的话,count(*)和count(1)这样都可以。如果统计count的某个字段有空值,就会造成结果不一致了,count,主键应该是最好的选择吧。

 

阅读(1977) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~