gpt4 book ai didi

mysql - 在这种情况下如何避免 -1

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:38 25 4
gpt4 key购买 nike

这是我的表格votes,其中voteType 1 = 反对票,voteType 0 = 赞成票

"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"

这是我的 table 喜欢

"id"    "type"  "parent"    "country"   "votes"
6 10 3 US 1
8 10 7 US 2
9 10 7 US 2

在上面,我运行以下 sql 来计算 votes 中的票数,然后从 likes 中添加或减去它们。

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(点赞数)减 -1 = 2。我想要的结果是 0。此外,对于 votes 表中的 8 和 9,结果应该是 1 (2-1+0=1) 。此处显示为 0

你能看出我哪里出错了吗?我该如何纠正?

最佳答案

我想你不想显示否定的票数。所以。首先计算票数,然后减去不同的票数......试试这样......

 Select voteby,(Count(votetype)-Sum(Case when votetype=1 then 1 else 0 end)) as b
from t group by voteby

Sql Fiddle Demo

关于mysql - 在这种情况下如何避免 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com