나는 다음과 같은 데이터베이스 테이블 (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
나는 또한 시작과 종료 날짜를 선택하는 두 개의 텍스트 상자가 선택한 날짜 사이의 세부 사항을 표시합니다.
현재 아래 쿼리는 선택한 시작 날짜와 종료 날짜를 기반으로 세부 정보를 제공합니다.
TeamName Count1 Count0
-------- ----- ------
Team1 1 2
Team2 3 0
Team3 1 1
을하지만 대신에 최대에 따라 비율 Count1
및 Count0
에서 카운트를 표시하려면 :
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
그것은 결과 아래 사람들처럼 생산하고 있습니다.
예를 들어 아래의 예상 출력에서 3은 최대 Count1
값입니다. 이를 바탕으로 카운트 값을 최대 Count1
값의 백분율로 변환해야합니다. 마찬가지로 2는 최대 값 Count0
입니다. 그것을 바탕으로 나는 Count0
값의 백분율을 찾아야 만합니다.
TeamName Count1 Count0 Percentage1 Percentage0
-------- ----- ------ ----------- -----------
Team1 1 2 33.33% 100%
Team2 3 0 100% 0%
Team3 1 1 33.33% 50%
예상되는 출력을 생성하려면 어떻게 솔루션을 수정할 수 있습니까?
데이터베이스 테이블입니까? 종류의 DataTable? 귀하의 주문이 중요합니까? 너 뭐 해봤 니? – Liath
아래 주어진 쿼리를 사용했습니다. TableA에서 SELECT COUNT (*)를 선택하십시오. 그러나 총 테이블 수만 표시합니다. –
@vipintp 예 테이블에있는 레코드를 계산했기 때문에 – Sybren