I했습니다 다음 데이터 세트 다음 계산에SQL 서버 - 계산 총 여과 값
Machine Type Value
1 A 11
1 B 32
2 A 23
3 A 1
4 B 23
4 B 31
5 B 56
6 A 12
그리고 내가 원하는 : 그것을 할 수있는 가장 좋은 방법은
SELECT COUNT(WHERE TYPE = A)/COUNT(TOTAL)
FROM....
? 등을 사용하고 있습니다 :
DECLARE @CNT INT
SET @CNT = (SELECT COUNT(*) FROM dataset)
SELECT COUNT(*)/CNT
FROM dataset
WHERE TYPE = A
을하지만이있는 경우 큰 쿼리가 느린 SQL을두고이 계산을 위해 동일한 쿼리를 반복 ... 누구나 더 나은 솔루션을 제공 할 수 있습니까?
어쩌면'COUNT (링크를 찾을 수 없습니다) 목표 테이블에 존재하지 않는 A 나 B는 'SUM'을 사용하여 첫 번째 'COUNT'를 대체 할 수 있습니까? – LONG
@LONG COUNT는 괜찮습니다. 그러나 정수로 나눈 정수이기 때문에 모든 유형이 A 인 경우 항상 0 또는 1을 반환합니다.1을 1.0으로 바꾸면 고칠 수 있습니다. –
아, 알겠습니다. '/'연산을 위해서도 역시 문제라고 생각합니다.) – LONG