mysql - 如何将两个 COUNT() 语句合二为一并求出差值?

标签 mysql

我怎样才能将以下两个查询合并为一个以得到 result 作为两个计数的差值。或者结果是:

result = vote1 - vote2

SELECT COUNT(id) AS vote1 FROM votes WHERE votes.voteTypeId = @voteType1 AND votes.userId = @userId
SELECT COUNT(id) AS vote2 FROM votes WHERE votes.voteTypeId = @voteType2 AND votes.userId = @userId

最佳答案

SELECT  SUM(votetypeid = @votetype1) - SUM(votetypeid = @votetype2)
FROM    votes
WHERE   userid = @userid
        AND votetypeid IN (@votetype1, @votetype2)

关于mysql - 如何将两个 COUNT() 语句合二为一并求出差值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4808691/

相关文章:

php - 数据库/服务器设计(Cookie 和索引)- 整数还是文本?

mysql - 加载数据奇怪的行为

php - SQL WHERE 子句中的 IF 和 ELSE

MySQL 和 2 列主键

mysql - 如何在mysql查询中应用GROUP_CONCAT

php - 选择禁用的字段不插入

mysql - 子查询和用户变量

mysql - 你最喜欢的 Ruby on Rails 书籍是什么?为什么?

MySQL:尝试根据 CASE 选择表,收到错误代码:1241 操作数应包含 1 列

mysql - 安装 caldecott 时出错