홈>
이것으로 두 테이블을 선택하고 있습니다 :
SELECT m.torneio, m.deck, m.top, m.lugar, sum( m.quantidade ) AS quantidade, m.formato AS formato, q.quantidade AS qtorneio, t.season AS season, sum( m.top ) AS totaltops, count( m.lugar = '1' ) AS venceu
FROM `metagame` AS m, quantidade AS q, torneios AS t
WHERE m.torneio = t.nome
AND m.torneio = q.nome
GROUP BY m.deck
내 문제는 venceu가 lugar = 1 일 때 인스턴스 대신 모든 인스턴스를 계산한다는 것입니다. 왜 그럴까요?
sum ()도 시도했지만 좋은 결과는 없었습니다. 이 문제를 어떻게 해결할 수 있습니까?
-
답변 # 1
-
답변 # 2
count(x)
표현을 받아들이지 않습니다.몇 번만
x
를 세고 있니 반환됩니다.해야 할 일은
m.lugar
인지 확인하는 것입니다.1
입니다 예, 카운터에 하나를 추가하면 아무것도하지 않습니다.인라인 검사는 다음과 같이 수행 할 수 있습니다 :
case when m.lugar = '1' then 1 else 0 end
그러면 얻을 수있는 모든 것을 추가하십시오 :
sum(case when m.lugar = '1' then 1 else 0 end)
최종 검색어는 다음과 같아야합니다 :
SELECT m.torneio, m.deck, m.top, m.lugar, sum( m.quantidade ) AS quantidade, m.formato AS formato, q.quantidade AS qtorneio, t.season AS season, sum( m.top ) AS totaltops, sum(case when m.lugar = '1' then 1 else 0 end) AS venceu FROM `metagame` AS m, quantidade AS q, torneios AS t WHERE m.torneio = t.nome AND m.torneio = q.nome GROUP BY m.deck
-
답변 # 3
질문을 이해하면 다음을 사용할 수 있습니다 :
sum(case when m.lugar = '1' then 1 else 0 end)
또는
having
를 시도해 볼 수 있습니다 조항SELECT column_name(s) FROM table_name WHERE condition GROUP BY column_name(s) HAVING condition ORDER BY column_name(s);
관련 자료
- python - 데이터 프레임 열의 끝에서 값이 발생하는 빈도를 계산합니다
- sql - 주어진 날짜 시간 + 1 시간의 값 개수
- 사용자가 laravel을 사용하여 기사를 클릭 할 때 DB에서 카운트 값을 늘리려 고합니다
- 데이터 집합에서 값이 서로 10 개 이내 일 때마다 R을 계산하도록하려면 어떻게해야합니까?
- sql - 하위 쿼리가 다른 테이블에서 개수 값을 반환하지 않습니다
- sql server - SQL Sum 개수 2 개 이상의 열
- python - pandas - groupby는 열 값으로 계산됩니다
- java - 함수에서 카운트 값을 어떻게 유지합니까?
- google 시트 - 조건이있는 모든 값 계산
- python - Pandas의 고유 값 수 롤링
- sql - PySpark 개수 () CASE WHEN
- dataframe - R 또는 Linux의 각 열 및 행에있는 값의 빈도 계산
- sql - 테이블의 모든 열에 대한 중복 값 수를 얻는 방법
- sorting - SQL 정렬 및 중복 값 계산
- python - pyspark 데이터 프레임의 특정 값과 일치하는 키 값 계산
- linux - awk - 각 고유 값 계산 및 두 파일 간의 일치 값
- javascript - 특정 값에 대해 배열의 요소 계산
- 오라클 SQL 최대 값
- python - 열에 다른 열에 특정 값이있는 경우 계산
- sql - 연관된 조인 테이블 수를 기반으로 한 postgres 업데이트 값
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- vue.js - axios를 사용하여 서버에 이미지를 업로드하는 방법
- python - 문자열에서 특정 문자 제거
count (m.lugar = '1') 구문이 놀랍지 만 count (*)와 동일한 구문을 반환합니다. 아마도 venceu로 sum (lugar = 1 else 0 end 인 경우)로 변경해야합니다. 또한 예상대로 작동하는지 확인하기 위해 그룹을 면밀히 검토해야합니다 (의심하지 않습니다).