使用多个where子句

时间:2014-07-16 13:02:10

标签: sql where-clause

我一周前才开始使用sql,当然我的任务是为数据库中的177个不同条目提取数据。为了逐个执行,我目前正在使用以下查询。

select min(call_date) as First_Call, MAX (call_date) as Last_Call
from dbo.CallHistory (nolock)
where ListID=6635941

我提取个人列表ID的最早和最晚通话日期。我想要做的是将所有列表ID放在那里并返回列表ID以及每个列表的第一个和最后一个呼叫日期。当我将ListID添加到select子句时,我收到一个错误。

我希望这很清楚......请询问您是否需要其他信息。

3 个答案:

答案 0 :(得分:4)

select listid, 
       min(call_date) as First_Call, 
       max(call_date) as Last_Call 
from   dbo.CallHistory (nolock) 
group by listid

答案 1 :(得分:0)

试试这个:

select min(call_date) as First_Call, 
       MAX (call_date) as Last_Call
  from dbo.CallHistory (nolock)
 where ListID in ( 6635941, ....... )

修改

正如@paqogomez建议,如果要分析一小部分ID,这个答案将是有用的。多数民众赞成因为说你的数据库有20000个注册表,而你只需要分析20个你放置这20个ID并且你有你的子集。

对于所有注册管理机构,您应该使用保罗提供的答案。

答案 2 :(得分:0)

试试这个

select listid,min(call_date) as First_Call, 
       MAX (call_date) as Last_Call
  from dbo.CallHistory (nolock)
 where ListID is not null
group by listid