根据答案统计记录总数



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

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

考虑到您给我们的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;

您可以使用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

最新更新