【发布时间】:2011-01-11 21:40:27
【问题描述】:
我有以下简单的查询,
SELECT US_LOGON_NAME as Username,
COUNT(I.IS_ISSUE_NO) as Issues
FROM ISSUES I JOIN USERS U ON I.IS_ASSIGNED_USER_ID = U.US_USER_ID
WHERE I.IS_RECEIVED_DATETIME BETWEEN 20110101000000 AND 20110107000000
GROUP BY U.US_LOGON_NAME;
我想在选择列表中添加额外的 COUNT() 函数,但对它们施加某些 where 条件。这是通过 CASE() 语句以某种方式完成的吗?我尝试将 Where 子句放在选择列表中,但这似乎是不允许的。我不确定这里是否真的需要子查询,但我不这么认为。
例如,我想要一个 COUNT() 函数,它只计算某个范围内的问题,然后是另一个范围内或其他各种条件下的另一个,等等:
SELECT US_LOGON_NAME as Username,
COUNT(I.IS_ISSUE_NO (condition here)
COUNT(I.IS_ISSUE_NO (a different condition here)
等等……
仍按登录名分组。
谢谢。
【问题讨论】:
标签: sql sql-server tsql