0
我有一个结果显示两个答案,并且我希望得到每个记录的总计数。用我的查询,我显示两个答案(喜欢和不喜欢)。我想指望像总数,也看不顺眼根据答案计数记录总数
SELECT (CASE WHEN log_time <= rdate_up THEN 'like' ELSE 'dislike' end)as answer
FROM dbo.users
我有一个结果显示两个答案,并且我希望得到每个记录的总计数。用我的查询,我显示两个答案(喜欢和不喜欢)。我想指望像总数,也看不顺眼根据答案计数记录总数
SELECT (CASE WHEN log_time <= rdate_up THEN 'like' ELSE 'dislike' end)as answer
FROM dbo.users
总数考虑到algorithm
您给我们来验证,如果值是一个like
或dislike
是
log_time <= rdate_up
那么你可以使用union
和count
将它们分开。
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
你的问题不清楚。尝试提供一些示例数据和你想从中看到的结果 – Elliveny 2015-02-06 21:19:39
是的,我不完全相信我遵循你所谈论的内容。 – Zane 2015-02-06 21:26:02