根据答案计算记录总数

时间:2015-02-06 21:17:33

标签: sql sql-server

我有一个显示两个答案的结果,我希望得到每个记录的总计数。我的查询显示两个答案(喜欢和不喜欢)。我想计算喜欢的总数和不喜欢的总数

SELECT (CASE WHEN  log_time <= rdate_up THEN 'like' ELSE 'dislike' end )as answer
FROM dbo.users

2 个答案:

答案 0 :(得分:1)

考虑到algorithm您提供给我们验证值是like还是dislike

log_time <= rdate_up

然后您可以使用unioncount分隔它们。

select count(*) as count_of_like
from dbo.users
where log_time <= rdate_up
union
select count(*) as count_of_dislike
from dbo.users
where log.time > rdate_up;

答案 1 :(得分:1)

您可以使用CASE以另一种方式执行此操作。这会更快,因为它只会击中基表一次。

select sum(case when log_time <= rdate_up then 1 end) as LikeCount
    , SUM(case when log.time > rdate_up then 1 end) as DislikeCount
from dbo.users