SELECT Unit,COUNT(unit) AS NUM from tableName 
或者
SELECT Unit, ISNULL(COUNT(*), 0) AS NUM from tableName 
用上面的查询语句只显示统计结果大于0的记录,而不显示统计结果为0的记录
我需要的结果例如:
Unit    Num
………………
永乐     20
国美     0
苏宁     3
sql语句怎么写!!!

解决方案 »

  1.   

    SELECT Unit, ISNULL(COUNT(*), 0) AS NUM from tableName 
    having count(*)>0
      

  2.   

    我是要用SELECT unit, ISNULL(COUNT(*), 0) AS NUM FROM tableName GROUP BY unit显示所有结果,最重要的是包括统计结果为0的记录
      

  3.   

    没有0
    SELECT Unit, COUNT(*) NUM from tableName group by unit
    有0
    SELECT Unit, ISNULL(COUNT(*), 0) AS NUM from tableName group by unit
      

  4.   

    怎么能把统计结果为0的unit也显示出来??????
      

  5.   

    SELECT Unit, ISNULL(COUNT(*), 0) AS NUM from tableName group by unit
    但是我这句话还是不显示0,我不知道错在哪里!!!!!!
      

  6.   

    没有unit的记录肯定显示不了.
      

  7.   

    SELECT Unit, count(ISNULL(Num, 0)) AS NUM from tableName group by unit
      

  8.   

    就一张表。受到楼上dawugui的启发,可能因为我的sql语句中还有WHERE条件筛选,所有某些unit没显示出来。那我怎样把筛选掉的记录以NUM为0的形式加到查询结果集的后面呢??
      

  9.   

    COUNT聚合,不需要ISNULL.
    即 COUNT聚合的结果不会出现NULL.不像SUM即然是一个表 即么当 Unit存在,那么 COUNT值就大于0, 为0就表示不存在,又何来 某个 Unit可以出现但Count值又为0的说法?
    a y
    a x
    b z
    结果为
    a 2
    b 1
    你的意思是要凭空多出来个 c 0 ?可能吗?
      

  10.   

    是要group by 就可以取出分给的数据。。