반응형
SQL Server의 조건을 기준으로 카운트
SQL Server에서 조건에 따라 카운트하는 방법을 아는 사람이 있습니까?
예:
이름이 'system'인 레코드와 전체 케이스의 열 카운트를 수행하려면 어떻게 해야 합니까?표에 있는 신분증이요?
고객 테이블
UserID CaseID Name
1 100 alan
1 101 alan
1 102 amy
1 103 system
1 104 ken
1 105 ken
1 106 system
결과는 다음과 같이 표시됩니다.
UserID TotalCaseID TotalRecordsWithSystem
1 7 2
SUM/CASE 사용...
SELECT
COUNT(*), --total
SUM(CASE WHEN name = 'system' THEN 1 ELSE 0 END) --conditional
FROM
myTable
그는 결과에 사용자 ID를 원한 것 같습니다.
SELECT
userid,
COUNT(*) as TotalcaseID, --total
SUM(CASE WHEN name = 'system' THEN 1 ELSE 0 END) as TotalRecordsWithSystem
FROM
myTable
group by userid
select
userid,
count('x') as TotalCaseID,
count(case when name = 'system' then 'x' else null end) as TotalRecordsWithSystem
from CustomerTable
group by userid
SQL Server 2012+를 사용하는 경우SUM/IIF
SELECT
COUNT(*) AS Total,
SUM(IIF(Name = 'system', 1, 0)) AS SystemTotal
FROM
CustomerTable
언급URL : https://stackoverflow.com/questions/3455201/count-based-on-condition-in-sql-server
반응형
'codememo' 카테고리의 다른 글
| 마리아의 재귀적 부모 자식 문제DB (0) | 2023.07.02 |
|---|---|
| 변수 인수 목록을 사용하는 디버그 전용 함수는 어떻게 생성합니까?printf()와 같이() (0) | 2023.07.02 |
| 목록의 제품 반환 (0) | 2023.07.02 |
| SQL 데이터베이스 테이블에 날짜 시간을 삽입하는 방법은 무엇입니까? (0) | 2023.07.02 |
| UI이미지 색상 변경 (0) | 2023.07.02 |