이것은 내 테이블 votes
입니다. 여기에서 voteType 1 = a negative vote, voteType 0 = a positive vote
입니다. 이 경우 -1을 피하는 방법
"id" "votedElm" "voteType" "voteProcessed" "country"
"3" "6" "1" "0" "US"//1-1=0
"4" "8" "0" "0" "US"//2+0-1=1
"9" "8" "1" "0" "US"
"5" "9" "0" "0" "US"//2+0-1=1
"10" "9" "1" "0" "US"
및 위의이 내 테이블
likes
"id" "type" "parent" "country" "votes"
6 10 3 US 1
8 10 7 US 2
9 10 7 US 2
, 나는 votes
에 표를 계산 한 후 추가하거나 좋아하는 그들을 빼기 다음 SQL을 실행합니다. 상기 쿼리를 사용하는 경우
SELECT
votedElm,
SUM(CASE WHEN voteType = 0 THEN 1 ELSE -1 END) AS Totalcount
FROM votes
WHERE country = 'US'
GROUP BY votedElm;
그러나 id 6 in votes
들어, 결과 -1
이다. 그래서 1 (in likes) minus -1 = 2
. 내가 원하는 결과는 0
입니다. 표의 8 and 9
에 대한 결과는 1
(2-1+0=1)
이어야합니다. 여기에 0
으로 표시됩니다.
내가 잘못 될 곳을 어떻게 볼 수 있습니까?
"voteType1 = 부정 투표, voteType2 = 긍정 표" --- 표의 예에서는 1과 0이 있습니다 – zerkms
죄송합니다. 내 잘못이야. 나는 완전히 미쳐가는 것에서 몇 걸음 떨어진다. – Norman
"결과는 -1이므로, 1 (좋아요에서) - 1 = 2"이것은 무엇입니까? – diEcho