我有一个数据集包含的应用程序名称的(ApplicationAlias)和用户名,然后重复计数SQL汇总组单柱
用户希望报告卷起(这些应用程序前20名,但是添加的所有以前行的用户名计数(组合不同)
- 标准构建应用程序 - 6174
- 标准构建应用程序,使用Adobe Acrobat - 6397
- 标准构建应用程序,使用Adobe Acrobat,Microsoft Office Word中 - 6605
- 标准构建应用程序,使用Adobe Acrobat,Microsoft Office Word中,微软Office Outlook中 - 6723
- 标准构建应用程序,使用Adobe Acrobat,Microsoft Office Word中,微软Office Outlook中,Microsoft Office Excel中 - 6859 -...(等)
目前我只能想到使用集合运算符约20联合所有查询与串联如上所示,几乎不理想。
还有别的办法吗?
我使用SQL Server及其ApplicationAlias的单个表和用户名
但有在该作品的另一个扳手他们ONLY要计算有应用程序有问题的用户,即任何人不应包括在列表之外(即标准构建应用程序,Adobe Acrobat,Microsoft Office Word)。
我在想这在SQL中几乎是不可能的,或者至少只能用部分语句来完成从Excel的帮助下收集数据?
CREATE TABLE [dbo].[usersApps](
[UserName] [varchar](100) NULL,
[ApplicationAlias] [nvarchar](100) NULL
)
| UserName | ApplicationAlias |
| 10008 | Standard Build Apps |
| 10008 | Adobe Acrobat |
| 10056 | Microsoft Office Word |
| 10056 | Microsoft Office Excel |
| 10059 |赛门铁克PGP桌面|
您使用的是哪个平台? Sql服务器有一个'PIVOT'方法可能适合你。 – paqogomez
是使用SQL服务器 – Frazer
请编辑您的问题以更好地解释您的表格结构。它听起来有两行,一个是应用程序名和用户数。那是对的吗? – paqogomez