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