sql - SQL group by 组合第二组并获得不同的第一组
问题描述
查询当前返回
Bob President 5
Joe Programmer 3
Greg Programmer 2
Joe Janitor 6
Liz Programmer 6
但我希望每个人只有一排这样
Bob President 5
Joe Programmer (or Janitor) 9
Greg Programmer 2
Liz Programmer 6
我现在按名称和角色分组。我如何也只获得不同的名称并结合该值?
SELECT
...
FROM
vw_QuickbaseAudit v
INNER JOIN [staging].[QuickbaseSystemUsers] qsu ON v.[user] = qsu.UserId
WHERE
Date_Modified >= @StartDate
AND Date_Modified < DATEADD(dd, 1, @EndDate)
GROUP BY
qsu.UserFirstName + ' ' + qsu.UserLastName,
qsu.RoleName
ORDER BY
RoleName,
NumberOfEditTotal DESC;
解决方案
SELECT qsu.UserFirstName + ' ' + qsu.UserLastName AS "FullName",
STUFF((SELECT '/' + r.RoleName FROM QuickbaseSystemUsers r on r.UserID = qsu.UserID FOR XML PATH('')), 1, 2, '') as "Roles",
NumberOfEditTotal << [however you calced this]
FROM vw_QuickbaseAudit v
INNER JOIN [staging].[QuickbaseSystemUsers] qsu ON v.[user] = qsu.UserId
WHERE Date_Modified >= @StartDate AND Date_Modified < DATEADD(dd, 1, @EndDate)
GROUP BY qsu.UserFirstName + ' ' + qsu.UserLastName,
STUFF((SELECT '/' + r.RoleName FROM QuickbaseSystemUsers r on r.UserID = qsu.UserID FOR XML PATH('')), 1, 2, '')
ORDER BY RoleName, NumberOfEditTotal DESC;
它的一些变体(编辑:错过了 group by 中的附加 STUFF 命令)
推荐阅读
- java - 如何使用 Hibernate 删除父实体及其子实体?
- swiftui - ZStack 顶部有额外空间
- html - 垂直轴上锚点和标题标签的不同间距
- chromium - 有没有定制一个基本简单的chromium浏览器的简要教程
- python - 如何获得输出期望?
- amazon-web-services - Docker 在为节点应用程序运行 npm install 时抛出错误
- python - SyntaxError 无效令牌(GPS 坐标)
- reactjs - 为什么我的 if 语句总是返回错误 - React Firebase
- csv - 有没有一种方法可以将 csv 文件中的每一行填充到不同的文本文件中?
- python - 在循环中创建列表