作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个可以投票的应用程序,我有一个表,其中包含从 0 到 100 的“评级”,也包含“投票”,代表投票数。我正在使用:
UPDATE maincategory SET rating='75'/votes
但是当没有其他人投票时,那么票数显然是“0”。这就是“75/0”(除以“0”)。我怎样才能做出“如果”声明或其他东西来验证该事物是否有“0”票,并且不除以“票”(因为它们是“0”)?
提前致谢
编辑:我的投票逻辑没有多大意义,我现在已经看到了......抱歉,我必须做什么来纠正这个问题?也许将所有评分加在一起并除以票数?
最佳答案
只需在有投票的行上运行它即可。
UPDATE maincategory SET rating='75'/votes WHERE votes>0
将其他评分保留为默认的 0
或 NULL
评分,并在您的应用中进行处理。
此外,'75'/votes
位对我来说听起来有点不对劲。如果投一票,评分为 75。如果投两票,评分为 37.5。投票通常不会降低评级。
通常,新的评级将像这样设置(这是伪代码,不是有效的 SQL):
rating = ((current_rating * current_vote_count) + new_rating) / (current_vote_count + 1)
关于mysql - "IF"语句 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26679912/
我是一名优秀的程序员,十分优秀!