求一条SQL语句~~~高手帮帮忙~~~
表allip中的记录   
 id            ip                                 sid 
 1               127.0.0.1               a 
 2               127.0.0.2               a 
 3               127.0.0.3               a 
 4               127.0.0.1               a 
 5               127.0.0.4               b 
 6               127.0.0.1               a 
 7               127.0.0.5               c 
 8               127.0.0.6               d   
 现在我求sid=a的所有唯一IP数量的总和(就是一个ip只能出现一次) 
 得到的值应该是3   
 我用 
 select   count(ip)   as   c   from   allip   where   sid= 'a '   group   by   ip 
 得到的答案是每一个ip的数量而不是他们的总和,sql该怎么写呢?求教高人~~~~~~~~~~~~~~~ 
------解决方案--------------------select count(distinct ip) as c from allip where sid= 'a '
------解决方案--------------------select count(distinct ip) as c from allip where sid= 'a '