mysql - How to avoid the -1 in this case -
this table votes, votetype 1 = negative vote, votetype 0 = positive vote.
"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" and table likes
"id" "type" "parent" "country" "votes" 6 10 3 1 8 10 7 2 9 10 7 2 in above, run following sql count votes in votes , add or subtract them likes.
select votedelm, sum(case when votetype = 0 1 else -1 end) totalcount votes country = 'us' group votedelm; however, id 6 in votes, when using above query, result -1. so, 1 (in likes) minus -1 = 2. result wanted 0. also, 8 , 9 in votes table, result should have been 1 (2-1+0=1). here show 0.
can see i'm going wrong , how can right?
i think don't want show votes in negative.so.first count number of vote minus number of unlike..... try this...
select voteby,(count(votetype)-sum(case when votetype=1 1 else 0 end)) b t group voteby
Comments
Post a Comment