홈>
동일한 레코드에서 ID 당 고유 값의 발생 횟수를 계산할 수 있지만보다 효율적인 방법이 있어야합니까?
COUNT([Value],'2')
와 같은 것
?
다음은 간단한 예입니다
ID | Value
1 2
1 3
1 3
1 2
2 2
2 3
2 3
3 3
이것은 현재 코드입니다 :
SELECT ID, SUM(CASE WHEN Value = '2' THEN 1 ELSE 0 END) AS "COUNT2",
SUM(CASE WHEN Value = '2' THEN 1 ELSE 0 END) AS "COUNT3"
FROM TABLE
GROUP BY ID
결과 :
ID | Count2 | Count3
1 2 3
2 1 2
3 0 1
고유 값의 개수를 얻는 더 좋은 방법이 있습니까?
-
답변 # 1
-
답변 # 2
DECODE
를 사용할 수 있습니다 "더 나은"것이 더 간결한 의미라면WITH I (ID, V) AS (VALUES (1,2) , (1,3) , (1,3) , (1,2) , (2,2) , (2,3) , (2,3) , (3,3) ) SELECT ID , COUNT(DECODE(V,2,1)) AS "Count2" , COUNT(DECODE(V,3,1)) AS "Count3" FROM I GROUP BY ID
반환
ID Count2 Count3 -- ------ ------ 1 2 2 2 1 2 3 0 1
-
답변 # 3
Db2 LUW 11.1.1.1 이상을 사용하는 경우
SUM
가 가능하다는 사실을 이용할 수 있습니다 와이즈 비즈 값.BOOLEAN
WITH I (ID, V) AS (VALUES (1,2) , (1,3) , (1,3) , (1,2) , (2,2) , (2,3) , (2,3) , (3,3) ) SELECT ID , SUM(V=2) AS "Count2" , SUM(V=3) AS "Count3" FROM I GROUP BY ID
관련 자료
- php - 고유 값 배열을 구축하면서 고유 값 계산
- R에서 여러 열의 시간 및 날짜 값을 기반으로 고유 한 값으로 열을 만드는 방법
- javascript - 원래 배열을 변경하지 않고 시간 복잡성이 O (n) 이상인 정렬 된 배열에서 고유 한 값을 얻는 방법
- linux - awk - 각 고유 값 계산 및 두 파일 간의 일치 값
- sql - bigquery - 하나 이상의 범주 (범주 형 값 개수)에서 고유 한 겹치는 값의 개수를 찾는 방법은 무엇입니까?
- r - 두 열 중 하나의 값을 기반으로 고유 ID 할당
- excel - countifs - left (searched_column, 2)> 6 기준과 일치하는 값을 계산하는 방법
- dataframe - 0보다 큰 값을 계산하고 행에서 패턴과 일치하는 수를 계산합니다 (R)
- python - Django는 모델에서 고유 한 값으로 두 개의 필드를 설정합니다
- shell - Bash의 변수를 기반으로 특정 TSV 테이블 행에서 값 추출
- prolog - 목록의 값을 기준으로 목록 요소 그룹화
- jq - 목록의 값을 기반으로 부울을 출력 할 수 있습니까?
- python - 판다 - 새 열 데이터를 기반으로 열 값을 찾는 방법
- ruby on rails - 첫 번째 배열을 기반으로 한 더 나은 다중 배열 정렬
- python - 두 데이터 프레임 값을 기반으로 플롯의 색상 코드
- mysql - 고유 한 각 열 값을 기준으로 백분율 계산
- python - 모든 행 값 양수, 한 행 값 음수, 두 행 값 음수… 및 모든 행 값 음수를 기준으로 Pandas 데이터 프레임을 정렬하는 방법,
- 파이썬 목록은 텍스트를 기반으로 고유 한 요소를 얻습니다
- python - 목록에서 값 계산
- arrays - 파이썬에서 고유 한 목록의 중복 값을 어떻게 만들까요?
시도 :
휴대 전화에서 입력 했으므로 약간 조정해야 할 수도 있지만 이런 식으로 작동해야합니다