Mysql查询减法问题

标签 mysql subtraction

首先我有两个表:

feeds:(id,content_id,author)feeds_ratings:(id,feed_id (FK to feeds(id)),user_id,rating)

我想做的是获取特定用户对特定作者的总评分差异。

为了进一步解释,假设我们在提要表中有三行,(1,3245,test),(2,3215,test),(3,3122,test)和 feeds_ratings 表中的树行,(1,1,12,like), (1,2,12,like),(1,3,12,dislike)

输入将是 user_id 和作者,我希望输出是输入用户对特定输入作者的总不喜欢和喜欢之间的差异。 (在这个例子中,它将是 1,因为两个喜欢一个不喜欢。

如何在 mysql 查询中实现?我尝试了搜索和我自己的一些代码,但我无法使其正常工作,因此非常感谢您的帮助!

最佳答案

像这样的东西可以使用 SUMCASE -- 喜欢加 1,不喜欢加 -1:

SELECT SUM(CASE WHEN fr.rating = 'like' THEN 1 ELSE -1 END) TotalLikes
FROM Feeds F
  INNER JOIN Feeds_Ratings FR ON F.id = FR.feed_id
WHERE F.author = 'test' 
  AND FR.user_id = 12

显然将 author 和 user_id 替换为适当的值——这些仅用于您的示例输入。

关于Mysql查询减法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16776126/

相关文章:

javascript 减法(-)键码

datetime - Apex - 从 DateTime 对象中减去分钟

c++ - 尝试制作一个 while 循环,减去一个数字直到达到所需值,如果减法超过所需值,则显示并停止

MySQL 重新启动会导致使用 M​​ySQL C API 的双重释放或损坏

mysql - 如何在使用 IN 函数时获取 SELECT 查询中未返回任何行的值

python - 如何用 Pandas 选择重复的行?

Perl 日期时间减法问题

PHP INSERT INTO MySQL 不起作用?

php - Laravel 对集合的 Eloquent 结果

php - 从 mysql 表中读取唯一数据