c# - 如何选择多列的计数
问题描述
我有这个观点
-----------------------------------
ID 1stChoice 2Choice 3rdChoice
-----------------------------------
1 - AA - BB - CC
2 - CC - BB - AA
3 - AA - CC - BB
4 - BB - AA - CC
5 - AA - CC - BB
我需要显示一个字段被选择多少次的报告1stChoice,2ndChoice and 3rdChoice
。
我尝试了这个非常适用于单列的查询
select 1stChoice,COUNT(*) as 'Count' from myView group by 1stChoice;
1stChoice - Count
-----------------
AA - 3
BB - 1
CC - 1
但这就是我希望输出的样子
------------------------------------
Field -1stChoice 2Choice 3rdChoice
------------------------------------
AA - 3 - 1 - 1
BB - 1 - 2 - 2
CC - 1 - 2 - 2
select 1stChoice,COUNT(*) as 'Count' from myView group by 1stChoice;
有没有一种方法可以在不为视图中的每一列
编写的情况下实现这一点?
我已经看到在一个 sql 命令访问和其他命令中从一个数据库表中选择多个计数, 但它们都没有解决我的问题。
解决方案
使用枢轴的示例;
SELECT [ChosenValue], [pvt].[1stChoice], pvt.[2ndChoice], pvt.[3rdChoice]
FROM (
SELECT Id, '1stChoice' Choice, [1stChoice] [ChosenValue]
FROM MyView
UNION
SELECT Id, '2ndChoice' Choice, [2ndChoice]
FROM MyView
UNION
SELECT Id, '3rdChoice' Choice, [3rdChoice]
FROM MyView
) AS tbl
PIVOT (
COUNT(Id)
FOR Choice IN ([1stChoice], [2ndChoice], [3rdChoice])
) as pvt
结果;
ChosenValue 1stChoice 2ndChoice 3rdChoice
AA 3 1 1
BB 1 2 2
CC 1 2 2
推荐阅读
- reactjs - 如何在没有商店的情况下在 npm 上打包反应组件
- javascript - 通过按钮和离开页面时为表格设置 cookie
- javascript - 为什么下载后xml文件内容变了?
- python - Django 在外键情况下按查询排序
- c# - 旋转图像并仅在图像内部裁剪:UWP
- swift - DatePicker 禁用星期日 + 开放时间
- java - 使用java建立与sql sql server的连接
- auth0 - Auth0:如何在规则中使用用户配置文件?
- php - 通过 API 向 Google 日历活动会议添加直播
- google-apps-script - 已发布的带有脚本的 Google 工作表无法正常工作