我有一个表,看起来像这样:
不幸的是,PIVOT
只能透视单列。但是我们可以使用条件聚合SUM(CASE WHEN...
和COUNT(CASE WHEN...
做多列:
DECLARE @COLUMNS VARCHAR(MAX)
DECLARE @QUERY nVARCHAR(MAX)
SELECT @COLUMNS = COALESCE(@COLUMNS + ', ','') +
'Sum' + QUOTENAME([break_id]) +
' = SUM(CASE WHEN break_id = ' + break_id + ' THEN time_inbreak END), Count' +
QUOTENAME([break_id]) + ' = COUNT(CASE WHEN break_id = ' + break_id + ' THEN 1 END)'
FROM
(SELECT DISTINCT [break_id] FROM test) AS B
ORDER BY B.[break_id]
OPTION (MAXDOP 1);
SET @QUERY = '
SELECT agent_id,
'+@COLUMNS+'
FROM (
SELECT TOP (1000)
agent_id,break_id,time_inbreak
FROM test
) as pivotData
GROUP BY agent_id;
';
PRINT @QUERY
EXEC sp_executesql @QUERY
我必须说,我不确定像这样聚合列有多安全,尤其是在并行的情况下。最好使用STRING_AGG
或FOR XML PATH(''), TYPE
。至少我已经添加了OPTION (MAXDOP 1)
来防止并行
相关内容
- 从文本中解析IP然后ping IP
- 用powershell提取zip文件,读取文件,然后提取标签之间的值
- r语言 - 如何使用pivot与不同的列组合更宽?
- 我需要一个字典作为一个函数的参数,然后反转它.困难的部分是我的字典用列表作为值
- 如何移动文件夹中的图像,然后将其复制到与图像描述中的refDes各自的单独文件夹中
- 在Python中随机调用函数然后调用不同的函数
- 通过 SSH 进入一个框,立即后台处理该过程,然后在 bash 脚本中以原始用户身份继续
- 如何在SQL中运行Openquery中的Pivot ?
- r语言 - 我想在闪亮的应用程序中绘制时间vis,这是可能的通过输入一个文件,然后绘制时间vis
- 哪个更好:单个查询还是先确定顺序,然后使用IN列表选择详细信息?
- 如何生成具有特定数量元素的数组的子数组,然后将其存储在另一个数组中?
- 是否有可能创建一个新函数,然后在单击按钮或使用现有函数时将其分配给触发器?
- 如何更改模板,然后继续编写功能
- Pivot数据帧在R中延长两次,然后返回原始形状
- 使用pivot,然后对每个pivot列中的值进行计数
- 将pandas数据框拆分为train和test.然后转换为pivot,同时具有相同的行名(字符串)和列名(字符串).&l
- pivot,然后根据值分组
- 如何在pyspark中按不同级别聚合pivot然后内部联接
- 是否可以将行转换为列,然后根据特定值求和,而不使用sql中的Pivot函数
- transpose / pivot独特的行属性作为列,然后组另一个属性
最新更新
- 运行我的 CI 时没有这样的模块"AWSCore",在本地很好
- APPSCRIPT从Gmail中检索带有电子邮件地址的上次交互日期
- Arduino cmake build system without IDE
- 使用.Split拆分字符串并返回第一个整数值
- Docker挂载的卷文件属于nobody:nobody(失去所有者)
- 气流操作器从URL下载文件并保存到磁盘
- 我试图在提交表单之前添加一个选中的属性,并使用laravel刀片模板单击无线电粘性
- Love2D 错误:main.lua:38:尝试调用方法 'getHeight'(一个 nil 值)
- 使用稀疏矩阵与jax
- 对于大一点的孩子(9岁以上的孩子),我需要什么样的iOS家长门?
- Understanding std::vector::push_back(std::move(v[i]))
- 你能找到解决这个问题的方法吗?
- 在使用相同group_id的kafka消费者中使用assign而不是subscribe是否有影响? &
- 让谷歌的见解清楚地表明,我的网站上有不止一个页面
- 我无法在反应中删除 html 标签
- 获取/读取邮件消息并输出纯文本
- 显示:表格单元格与行号不对齐
- 如何使用Toga应用访问Android通知
- 访问create_template_view api时出现INVALID_REQUEST_BODY错误
- 使用预处理器条件生成C/ c++变量名
- 此处映射计算路线API上的错误414
- Oracle数据库中的并行提示
- woocommerce在每个类别结帐后自定义重定向
- 是否有可能在AWS中设置一个webhook来监控特定的电子邮件地址,并将接收到的电子邮件信息传递给Lambda?<
- 仅使用numpy实现CNN时出错
- 过程展开不规则时间序列
- 插入多个带别名的外键
- 如何从API响应中提取Array
- WebLogic 14c -性能调优测试
- Google-Drive-API文件没有使用FORM_ID找到
热门标签:
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium