是否可以将用户定义的聚合(clr)与窗口函数(over)一起使用?

2024-03-16

是否可以将用户定义的聚合(clr)与窗口函数(over)一起使用?

在文档中找不到答案:http://technet.microsoft.com/en-us/library/ms190678.aspx http://technet.microsoft.com/en-us/library/ms190678.aspx


你是对的,在文档中找到任何东西都很棘手。但是搜索 Connect 网站,我设法找到了这个gem https://connect.microsoft.com/SQLServer/feedback/details/586867/user-defined-ranking-functions:

现在,您可以像常规聚合函数一样使用带有 OVER 子句和 PARTITION BY 的 CLR 聚合。一旦我们支持窗口函数......

这是微软的回应。


然而,当我等待我的旧机器创建一个新的数据库项目并创建此聚合时,我在 Connect 站点上进行了搜索:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.IO;
using Microsoft.SqlServer.Server;

[Serializable]
[Microsoft.SqlServer.Server.SqlUserDefinedAggregate(Format.UserDefined,MaxByteSize = 2000)]
public struct SqlAggregate1 : IBinarySerialize
{
    private SqlString last;
    public void Init()
    {
        // Ignore
    }

    public void Accumulate(SqlString Value)
    {
        last = Value;
    }

    public void Merge (SqlAggregate1 Group)
    {
        // Ignore
    }

    public SqlString Terminate ()
    {
        // Put your code here
        return last;
    }

    public void Read(BinaryReader r)
    {
        last = new SqlString(r.ReadString());
    }

    public void Write(BinaryWriter w)
    {
        w.Write(last.ToString());
    }
}

然后运行这个脚本:

select dbo.SqlAggregate1(Column2) OVER (PARTITION BY Column1)
from (select 1,'abc' union all select 1,'def' union all
      select 2,'ghi' union all select 2,'jkl') as t(Column1,Column2)

其产生:

------------
abc
abc
ghi
ghi

说来话长——你自己就可以轻松找到答案trying it.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以将用户定义的聚合(clr)与窗口函数(over)一起使用? 的相关文章

  • 在 SQL Server 中选择条件的值[重复]

    这个问题在这里已经有答案了 在查询选择中 我想显示字段是否满足条件的结果 想象一下我有一张名为stock 该表有一列告诉我库存中每种商品的数量 我想做的是这样的 SELECT stock name IF stock quantity lt
  • 导致聚集索引扫描的日期参数

    我有以下查询 DECLARE StartDate DATE 2017 09 22 DECLARE EndDate DATE 2017 09 23 SELECT a col1 a col2 b col1 b col2 b col3 a col
  • 显示多个表的账户余额

    我有以下两个表 其中存储有关贷记和借记记录的信息 couponCr 表包含 voucherType voucherPrefix voucherNo crparty cramount SALES S 1 1 43000 SALES S 2 1
  • VBA仅清除数据透视表缓存,但保留数据透视表结构

    如何使用VBA清除数据透视表缓存 但不破坏数据透视表结构 我的数据透视表已连接到外部数据源 SQL 源决定哪个用户应该查看数据的哪一部分 当表刷新时 源会填充该表 我想保存 Excel 文件并使用干净的数据透视表 内部没有数据 分发它 结果
  • 如何使用 SQL Server 查询对“版本号”列进行排序

    我想知道我们当中的 SQL 天才是否可以向我伸出援助之手 我有一个专栏VersionNo在表中Versions包含 版本号 值 例如 VersionNo 1 2 3 1 1 10 3 1 1 4 7 2 etc 我正在寻找对此进行排序 但不
  • 将存储过程的结果加上额外的列插入表中

    如何在其中插入更多列dbFileListOnly表以及 EXEC 查询 INSERT INTO admindb dbfilelistonly path col1 col2 path EXEC RESTORE FILELISTONLY FRO
  • SQL Server 表中最多可以有多少行

    通常我们可以给出更多的值 在SQL Server中一个表最多可以有多少行 之后我们就无法添加新行了 有一些边缘情况 除了明显的磁盘空间问题之外 SQL Server 会阻止您添加更多行 而不是确切的行数 但值得一提 你有一个IDENTITY
  • 如何使用 RODBC 将数据帧保存到数据库生成的主键表

    我想使用 R 脚本将数据框输入到数据库中的现有表中 并且希望数据库中的表具有顺序主键 我的问题是 RODBC 似乎不允许主键约束 这是创建我想要的表的 SQL CREATE TABLE dbo results ID INT IDENTITY
  • SQLCLR中连接字符串的区别

    我正在审查顾问签入的一些代码 并注意到他们正在使用 SQLCLR 我对此没有任何经验 所以我想研究一下它的内容 我注意到他们使用了 Dim cn As New SqlConnection server LOCALHOST integrate
  • 如何更新 SQL Server 中 ntext 列中的 XML 字符串?

    有一个包含 2 列的 SQL 表 ID int 和值 ntext 值行中包含各种 xml 字符串 ID Value 1
  • 扁平化/反规范化 SQL 查找表的最佳方法?

    我有很多这样的表 Lookup HealthCheckupRisks ID Name 1 Anemia 2 Anorexic 3 Bulemic 4 Depression 122 Syphilis PatientRisksOnCheckup
  • SQL中如何合并多个表的数据

    我想我的处境很复杂 这是场景 我在 SQL Server 中有 3 个表 注册 学生 课程 仅供参考 没有外键 表的列是 Student 学生号 学生名 Course 课程 ID 课程名称 注册 注册 ID 学生 ID 课程 ID 课程结果
  • 有很多数据库视图可以吗?

    我很少 每月 每季度 使用 Microsoft SQL Server 2005 数据库视图生成数百份 Crystal Reports 报告 在我不读取这些视图的所有时间里 这些视图是否会浪费 CPU 周期和 RAM 因为我很少从视图中读取数
  • 避免数据集中出现重复名称

    我正在从表中获取数据并绑定到标签并在 gridview 中下拉 但我想从表中过滤重复的名称并将相应的日期分配给 DDL 如何做到这一点 或者还有其他选择吗 private DataSet get string sql select Id N
  • 返回年份数组作为年份范围

    我正在尝试查询一个包含以下内容的表character varying 年份列 并将这些年份作为逗号分隔的年份范围字符串返回 年份范围将由数组中存在的连续年份确定 不连续的年份 年份范围应以逗号分隔 数据类型的原因是character var
  • 复制数据库的最佳方法是什么?

    当我想要复制数据库时 我总是创建一个新的空数据库 然后将现有数据库的备份恢复到其中 然而 我想知道这是否真的是最不容易出错 最不复杂且最有效的方法 可以跳过创建空数据库的步骤 您可以在恢复过程中创建新数据库 这实际上是我所知道的克隆数据库最
  • 在SQL中,如何通过查找与某一列相等的所有行来更新表的每一行,然后将另一列设置为彼此相等

    所以基本上这就是伪代码 但我不知道如何在 SQL 中执行此操作 请帮忙 for each row in table1 loop through each row in table 2 if table1 s row column 1 tab
  • 如何查询集成服务目录

    问题 识别连接到 SQL Server 上特定数据库表的所有 SSIS 包 详细信息 服务器上部署了近 100 个包 大多数包的大小都很大 因此很难以高精度手动检查它们 有没有一种快速且自动化的方法来做到这一点 使用 SQL Server
  • 获取一组记录之间的时间差

    我有一个具有以下结构的表 ID ActivityTime Status 19 2013 08 23 14 52 1 19 2013 08 23 14 50 1 19 2013 08 23 14 45 2 19 2013 08 23 14 3
  • 批量插入不适用于 NULL 数据

    当我从 CSV 文件将批量数据插入到表中时 它不起作用 显示错误 第 2 行第 9 列的批量加载数据转换错误 类型不匹配或指定代码页的字符无效 csv 文件中的第 9 列值为空 我该如何处理这个问题 根据这些信息 我认为目标表的特定字段被定

随机推荐

  • CSS Flexbox - 根据屏幕尺寸组织弹性项目

    我有一个弹性项目容器 我试图根据屏幕尺寸以不同的布局组织不同数量的弹性项目 例如 在桌面上 我想要有 4 个容器 每个容器有 2 个项目 布局在 2x4 网格中 每个单元格为 1x2 我似乎无法理解的是纯粹使用 Flexbox 在平板电脑上
  • gnuplot:在 y 轴上绘制 4 列的文件

    我有一个包含 4 个数字 最小值 最大值 平均值 标准差 的文件 我想用 gnuplot 绘制它 Sample 24 31 29 0909 2 57451 12 31 27 2727 5 24129 14 31 26 1818 5 0419
  • Python 多重处理是否从父级复制所有模块?

    我注意到我可以访问子进程中位于子进程函数 目标之外的函数和模块 所以我想知道当我在 python 中创建子进程时它是否会复制当前进程中的所有内容 为什么我可以访问子目标之外的函数和导入的模块 from multiprocessing imp
  • 测试时如何访问request.user?

    我刚刚从 Django 1 3 1 迁移到 Django 1 4 这样做之后 我的大量测试开始出现这些错误 Traceback most recent call last File Volumes Data ADay Website Bac
  • 为什么使用 Spark Direct Stream 从 kafka 接收的元组的第一个成员为 null

    当使用KafkaUtils createDirectStream从kafka读取消息时 Tuple2的v1 1成员为null KafkaUtils createDirectStream streamingContext String cla
  • 在 Vim 中滚动长换行

    Problem 在写散文时 使用时滚动会以意想不到的方式工作j向下滚动 当我在文本的两个长段落 vim 中的换行 之间滚动时 使用j 当到达下一个长段落 行 时 文本从屏幕底部 跳 到顶部 将段落 行 的第一个单词与屏幕顶部对齐 参见下面的
  • 使用 dojo 修改 div 的文本

    我有一个 dojo 小部件 对于小部件 我有 2 个文件 A js 和 A html 现在在 A html 中我有类似的东西 div div 上面的行是小部件模板中的一行 它是一个普通的 html div 现在在A js中我对服务器进行异步
  • 如何从 VS2015 瞄准 Mono 框架?

    我想在安装了 mono 的 Linux 上部署 ASP NET Web 应用程序 据我所知 Mono 是一个类似于 DNX 4 5 1 或 DNX Core 5 0 的目标平台 因此 我需要以某种方式将其添加到我的项目中的目标平台 以针对它
  • 如何在 Scala 中添加对 Future 的回调?

    我看到一个例子here http docs scala lang org overviews core futures html val fut Future my body function my body function starts
  • Xcode 日志“编写分析变体”

    运行 Xcode 13 在模拟器中启动我的 iOS 应用程序时 我看到以下日志 编写分析变体 请注意 这可能是日志的拼写错误 写肛门yzed 变种 是什么导致了这种日志噪音 我的代码中有什么东西触发了它吗 我怎样才能隐藏这个 编写分析变体
  • 未知数量列表的交集c#.net

    我有一个dictionary
  • 如何防止 Event.Resize 在 displayState 更改为 FULL_SCREEN 时触发两次?

    我有一个带有全屏按钮的应用程序 当单击该按钮时 我将舞台的显示状态更改为StageDisplayState FULL SCREEN INTERACTIVE 这使得Event RESIZE发射两次如果stage scaleMode Stage
  • 具有自定义事件的平台的 Web 分析

    我正在建立一个制作网站的平台 将 wordpress com 视为类似的示例 每个站点都将成为我的域的子域 例如 abc mydomain com 或 xyz mydomain com 我对分析有一些要求 但我无法满足所有要求 我希望能够查
  • iPhone 企业分发计划

    我想实现一个应用程序来备份 iPhone 中存储的所有内部数据 如短信 彩信 视频 音频 文档 通话记录 但这对于苹果迄今为止发布的API文档来说似乎是不可能的 我已经浏览了企业分发程序的PDF和一些与企业分发程序相关的链接 指定了有关远程
  • 如何在 WooCommerce 中获取订单 ID?

    如何在 WooCommerce 中检索订单 ID 当前方法 当前实现此目的的方法是使用此函数 order gt get id 这应该返回不带 的订单 ID 旧方法 在旧版本的 WooCommerce 中 您可能需要将其作为属性来访问 ech
  • Python 3 to_bytes 是否已向后移植到 python 2.7?

    这是我想要的功能 http docs python org 3 library stdtypes html int to bytes http docs python org 3 library stdtypes html int to b
  • 如何使用 Velocity 模板正确显示西班牙语字符?

    我正在使用 Velocity 和消息资源包来生成 html 页面 当我指定墨西哥作为我的区域设置时 我的 messages es MX properties 将被处理为消息资源的源 这正如我所期望的那样 但字符 无法正确显示 我的消息属性
  • 为什么我收到 emulator-5554 已断开连接消息

    当我启动 Android 模拟器时 需要一些时间 然后它会显示 emulator 5554 已断开连接消息 谁能告诉我问题是什么 Open the Device view of Android in Eclipse IDE Then cli
  • Theano 导入错误:没有名为 cPickle 的模块

    gt gt gt import theano Traceback most recent call last File
  • 是否可以将用户定义的聚合(clr)与窗口函数(over)一起使用?

    是否可以将用户定义的聚合 clr 与窗口函数 over 一起使用 在文档中找不到答案 http technet microsoft com en us library ms190678 aspx http technet microsoft