【发布时间】:2015-01-06 06:08:53
【问题描述】:
下面给出的是数据库表(TableA)。
SlNo TeamName WorkInfo
---- ------- -------
1 Team1 0
2 Team1 0
3 Team1 1
4 Team2 1
5 Team2 1
6 Team2 1
7 Team3 0
8 Team3 1
我有两个用于选择开始日期和结束日期的文本框。我想显示这两个日期之间的详细信息。
鉴于以下查询是根据开始日期和结束日期提供详细信息和计数。
SELECT TeamName,Count(DISTINCT CASE WHEN WorkInfo = 1 THEN SlNo end) AS Count1 ,
Count(DISTINCT CASE WHEN WorkInfo = 0 THEN SlNo end) AS Count0 FROM tableA
WHERE (SubmitDate BETWEEN @start AND @end) GROUP BY TeamName
上面的查询显示了如下所示的输出:
TeamName Count1 Count0
-------- ----- ------
Team1 1 2
Team2 3 0
Team3 1 1
我想根据 greatest count 和 Count1 和 Count0 显示百分比。帮我修改上面的解决方案。 The expecting output sample is given below:
Count1 3 是最大的值。基于此,我必须找到 Count1 值的百分比。而在Count0 中,2 是最大值。基于此我必须找到 Count0 值的百分比。
TeamName Count1 Count0 Percentage1 Percentage0
-------- ----- ------ ----------- -----------
Team1 1 2 33.33% 100%
Team2 3 0 100% 0%
Team3 1 1 33.33% 50%
帮助我找到合适的解决方案。谢谢。
【问题讨论】:
-
你在使用 SQL Server 吗?
-
@RaduGheorghiu:是的
标签: sql sql-server