필드의 합계를 선택하려면 SELECT 문을 쓰려고하지만 30보다 작은 숫자와 30보다 큰 숫자의 합을 반환하고 싶습니다. 두 개의 선택을 함께하면이 작업을 수행 할 수 있다는 것을 알았습니다 그러나 나는 그것을 "깔끔하게"하는 방법을 찾기를 희망했다. 이 라인을 따라30보다 작은 숫자의 합계와 30보다 큰 숫자의 합을 선택하는 방법은 무엇입니까?
답변
뭔가 (사용자 환경의 구문을 정정) : 만약 내가 제대로 이해하고
SELECT
sum(case when Field < 30 then Field else 0 end) as LessThan30,
sum(case when Field > 30 then Field else 0 end) as MoreThan30
FROM
DaTable
+1 깨끗합니다. 당신이 필요로하는 성능이라면, 무엇이든 합치는 토우를 이길 것입니다. –
열에 색인이 있다고 가정합니다. –
이 쿼리에 성능 문제가 있다고 생각하지 않습니다. 또는 다른 방법으로 말하자면 두 개의 분리 된 선택이 더 빠를 이유가 없습니다. Field에 인덱스가 있고 Field가 null이 아닌 경우이 인덱스는 해당 인덱스에 액세스하여 해결할 수 있습니다. – Thilo
, 당신은 숫자 값이 단일 열이 있고 모든 THW이 필드의 합계를 찾으려면 필드 값이 30보다 작은 행 및 30보다 큰 필드 값의 변이와 동일한 조건.이 값이 맞으면 다음 쿼리를 사용하여 그에 따라 테이블과 열 이름을 replcae 할 수 있습니다.
SELECT SUM(CASE WHEN col1 < 30 THEN COL1 ELSE 0 END
) SUM(CASE WHEN col1 < 30 THEN COL1 ELSE 0 END
) FROM DATABASE.SCHEMANAME.TABLE
감사합니다, 아툴
무시하십시오. 답변은 이미 Vilx에 의해 게시되었습니다. 아툴 – Atul
요구 사항은 큰 막연한,하지만 난 행에 걸쳐 SUM을 가정합니다 및 <> (30)이 사건의 대답 다르다.
SELECT
SelectCol1, SelectCol2, SelectCol3, ..., SUM(AggregateCol)
FROM
Table
GROUP BY
SelectCol1, SelectCol2, SelectCol3, ...
HAVING
SUM(AggregateCol) <> 30
- 1. 크기 표기 숫자의 합을 계산 하시겠습니까?
- 2. 큰 숫자의 부분
- 3. 매우 큰 숫자의 vb.net
- 4. 숫자의 기준을 결정하는 방법은 무엇입니까?
- 5. 파이썬 - 숫자의 합
- 6. 파이썬에서 범위 함수의 모든 숫자의 합을 얻으려면 어떻게해야합니까?
- 7. C++에서 큰 숫자의 n 번째 루트를 구하는 방법은 무엇입니까?
- 8. 플로트를 정의하는 방법은 숫자의 절반입니까?
- 9. 숫자의 정수 부분 찾기
- 10. CUDA로 숫자의 큰 배열을 정렬해야하므로 추력
- 11. X보다 큰 숫자의 PDF를 검색하는 방법
- 12. 매트릭스에서 인접한 숫자의 가장 큰 영역 찾기
- 13. 배열에서 숫자의 시퀀스 찾기
- 14. 비교를위한 숫자의 변형 문자열
- 15. 순서대로 숫자의 순서를 생성하십시오.
- 16. 표현식 언어에서 숫자의 서식을 지정하는 방법은 무엇입니까?
- 17. 펄에서 숫자의 유효성을 검사하는 방법은 무엇입니까?
- 18. 주어진 숫자의 약수 목록을 얻는 방법은 무엇입니까?
- 19. 시퀀스를 만드는 숫자의 합
- 20. 자바에서 숫자의 유효성을 검사하려면 어떻게해야합니까?
- 21. 특정 숫자의 십진수 표시 방법
- 22. 숫자의 오른쪽으로 나누는 방법?
- 23. 숫자의 소수 요소
- 24. ML의 숫자의 소수 제수
- 25. 숫자의 제곱근을 찾는 알고리즘?
- 26. 숫자의 숫자를 역순으로 인쇄하십시오.
- 27. PHP에서 숫자의 배수 찾기
- 28. 숫자의 NSString 정렬
- 29. 숫자의 특정 숫자 선택
- 30. x 숫자의 특정 출력
합계가 30 인 경우 아무 것도 관심이 없습니다. – pjp
SUM 행의 합계와 같습니까? "<> 30"이라는 뜻입니까? – gbn