--a---------b----------c---------d-----------------------
  XX类    大类A        小类A      23
  XX类    大类A        小类B      23
  XX类    大类A        小类C      23
  XX类    大类B        小类A      23
  XX类    大类B        小类B      23
  XX类    大类B        小类C      23
  XY类    大类A        小类A      23
  XY类    大类A        小类B      23
  XY类    大类A        小类C      23
  XY类    大类B        小类A      23
  XY类    大类B        小类B      23
  XY类    大类B        小类C      23
  XY类    大类A        小类A      23
  XY类    大类A        小类B      23
  XY类    大类A        小类C      23
  XY类    大类B        小类A      23
  XY类    大类B        小类B      23
  XY类    大类B        小类C      23 按树结构输出数量
 XX类--------------------------------------30个
    大类A----------------------------------10个
        小类A------------------------------5个
小类B------------------------------3个
        小类C------------------------------2个
    大类B----------------------------------20个
        小类A------------------------------5个
小类B------------------------------5个
小类C------------------------------10个
 XY类--------------------------------------50个
    大类A----------------------------------10个
        小类A------------------------------5个
小类B------------------------------3个
        小类C------------------------------2个
    大类B----------------------------------20个
        小类A------------------------------5个
小类B------------------------------5个
小类C------------------------------10个谁能帮我写出这个查询语句呀?

解决方案 »

  1.   

    XX类,怎么算的有30个?
     XX类下的大类A,怎么算的有10个?
      

  2.   

    试试ROLLUP和CBUEselect a,b,c,count(1) from tableName 
    group by rollup(a,b,c)或者select a,b,c,count(1) from tableName 
    group by cube(a,b,c)会按照类,大类,小类分组,并给出所有小计,格式有些不同,