用法1:第一级数据统计

use Tempdbgoif not object_id(N'Tempdb..#T') is nulldrop table #TGoCreate table #T([ID] int,[Name] nvarchar(22),[Score] int,[ParentID] int)Insert #Tselect 1,N'战一',101,0 union allselect 2,N'战二',102,1 union allselect 3,N'战三',103,1 union allselect 4,N'战四',104,3 union allselect 6,N'战五',105,0 union allselect 7,N'战五',105,6GO;WITH CTET AS(Select *,ID2=ID,Name2=Name from #T WHERE ParentID=0UNION ALLSELECT a.*,b.ID2,b.Name2 FROM #T AS a INNER JOIN CTET AS b ON b.ID=a.ParentID)SELECT ID2,Name2,SUM(Score) AS Scroe,COUNT(*) AS con FROM CTET GROUP BY Name2,ID2/* ID2    Name2    Scroe    con1    战一    410    46    战五    210    2*/

用法二:统计每个数据

create table tbs(id varchar(3) , pid varchar(3) , name varchar(10));
insert into tbs values('001' , null , '广东省');
insert into tbs values('002' , '001' , '广州市');
insert into tbs values('003' , '001' , '深圳市') ;
insert into tbs values('004' , '002' , '天河区') ;
insert into tbs values('005' , '003' , '罗湖区');
insert into tbs values('006' , '003' , '福田区') ;
insert into tbs values('007' , '003' , '宝安区') ;
insert into tbs values('008' , '007' , '西乡镇') ;
insert into tbs values('009' , '007' , '龙华镇');
insert into tbs values('010' , '007' , '松岗镇');select * from tbswith t as (select id,id q from tbs union allselect a.id,b.q from tbs a inner join t b on a.pid=b.id
)
select tbs.*,COUNT(1)-1 from t inner join tbs on t.q=tbs.id group by tbs.id,tbs.name,tbs.pid

Sqlserver With用法相关推荐

  1. SqlServer一些用法

    Case ..when..End 首先让我们看一下 CASE 的语法.在一般的 SELECT 中,其语法如下:    SELECT <myColumnSpec> =  CASE  WHEN ...

  2. SqlServer substring用法

    SUBSTRING 返回字符.binary.text 或 image 表达式的一部分.有关可与该函数一起使用的有效 Microsoft® SQL Server™ 数据类型的更多信息,请参见数据类型. ...

  3. MySql按周,按月,按日分组统计数据

    知识关键词:DATE_FORMAT select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case grou ...

  4. 代码规范(一)——java篇

    为什么80%的码农都做不了架构师?>>>    1. Result result=new Result(); result.setCode(201); result.setStr(r ...

  5. oracle去重离子,oracle去重

    oracle去重 create table tmp_table3 as (SELECT seqno FROM (SELECT t.seqno,ROWID, ROW_NUMBER() OVER(PART ...

  6. 删除oracle数据库的三种方法,oracle数据库的删除方法详解

    oracle数据库的删除方法详解 1.图形界面删除 练习之前记得创建快照 执行命令之前要保证数据库属于open状态 SQL> alter database open; [oracle@local ...

  7. sql语句批量修改字段

    一. 根据条件去掉指定记录的前2个字符 update 表名 set 字段名=REPLACE(字段名,字段名,SUBSTR(字段名,1,2)) where 条件: 简单例子: update test s ...

  8. 读SQL Server性能调优实战——陈畅亮、吴一晴著

    sqlserver 微软 安装 根据业务特点来考虑 1.分析产品业务数据的增长量 预估某些关键业务数据在一定时间内的增长量,预估数据在未来的增长数据, 2.了解产品业务操作类型.考虑业务是以查询为主还 ...

  9. 简单介绍SQLserver中的declare变量用法

    这篇文章主要介绍了SQLserver中的declare变量用法,sql中declare是声明的意思,就是声明变量的,这个一般是用在函数和存储过程中的.感兴趣的可以来了解一下 平时写SQL查询.存储过程 ...

最新文章

  1. JQuery Tab菜单的实现
  2. 面板——卡片面板、常规折叠面板、手风琴折叠
  3. 在线打假!“鲁迅说过的话”检索系统上线 网友太热情系统一度崩溃
  4. 解决Hibernate4执行update操作,不更新数据的问题
  5. STP/RSTP/MSTP经典分析与对比
  6. Templates Algorithms
  7. opencv图像及视频感兴趣区域设置
  8. python const char_python C 扩展(转载)
  9. PLC控制系统在我国的发展及应用
  10. 51nod 1521 一维战舰
  11. 红米手机html文件,红米手机中ES文件浏览器无法删除SD卡中文件的解决办法-es文件浏览器...
  12. cad打开卡死_CAD启动时闪退怎么办?打开CAD就死机怎么办?
  13. SAP BASIS ADM100 中文版 Unit 5(1)
  14. 微信小程序Swiper组件轮播图片尺寸填坑
  15. 四色定理已利用计算机证明,地图四色定理的非计算机证明.pdf
  16. ORA-04091: table xxxx is mutating, trigger/function may not see it
  17. tbook10s换linux,【台电Tbook10s使用测试】硬件配置|驱动适配|续航_摘要频道_什么值得买...
  18. 数商云助您“乘风破浪”,倾力打造PCB行业采购管理平台解决方案
  19. sklearn preprocessing 数据预处理 OneHotEncoder
  20. 数学建模之层次分析法AHP

热门文章

  1. 计算机数据恢复的报告怎么写,数据恢复实训报告
  2. CSS文字前面有不同颜色的圆
  3. pikachu靶场越权漏洞实战
  4. 【2019暑假集训】08.10比赛总结
  5. bootstrap div变大变小_Bootstrap3基础 栅格系统 页面布局随 浏览器大小的变化而变化...
  6. IDEA翻译插件Translate安装
  7. 【2022】小记:CDH hive 10000端口连接不上问题
  8. html中盒子浮动怎么写,CSS盒子的浮动
  9. islide是什么软件,一分钟带快速了解islide插件
  10. 当舱内娱乐“遭遇”安全监管,下一个市场增长引擎“接力”