gpt4 book ai didi

解析SQLServer任意列之间的聚合

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章解析SQLServer任意列之间的聚合由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

sql的max之类的聚合函数只能针对同一列的n行运算,如果对n列运算,一般都用case 语句来判断,如果列少还比较容易写,列多了就麻烦了。 -------------------------------------------------------------------------------- /*  测试名称:利用 XML 求任意列之间的聚合  测试功能:对一张表的列数据做 min 、 max 、 sum 和 avg 运算  运行原理:字段合并为 xml 后做 xquery 查询转为行集后聚合  */  -- 建立测试环境  declare @t table (  id smallint ,  a smallint , b smallint ,  c smallint , d smallint ,  e smallint , f smallint )  insert into @t  select 1, 1, 2, 3, 4, 6, 7 union all  select 2, 34, 45, 56, 54, 9, 6  -- 测试语句  select   a.*, c.*  from @t a outer apply(  select doc=(  select * from @t as doc where id= a. id  for xml path ( '' ), type   )  ) b  outer apply(  select  min ( r) as minValue,  max ( r) as maxValue,  sum ( r) as sumValue,  avg ( r) as avgValue    from (      select cast ( cast ( d. n. query( 'text()' ) as varchar ( max )) as int ) as r         from doc. nodes( '/a,b,c,d,e,f' ) D( n)) tt  ) c  /* 测试结果  id     a      b      c      d      e      f      minValue    maxValue    sumValue    avgValue  ------ ------ ------ ------ ------ ------ ------ ----------- ----------- ----------- -----------  1      1      2      3      4      6      7      1           7           23          3  2      34     45     56     54     9      6      6           56           204         34  */  。

最后此篇关于解析SQLServer任意列之间的聚合的文章就讲到这里了,如果你想了解更多关于解析SQLServer任意列之间的聚合的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com