SQL Count查询有多少字段具有另一个具有值的字段

时间:2013-10-28 22:36:38

标签: sql sql-server

我有一个日志表,其中包含SQLSERVER

中名为IP和ID的列

现在有些IP共享相同的ID,而我需要做的是获得一个结果集,这样可以计算出为每个ID找到的IP区别数。这个让我有点愚弄,此刻任何人都可以请求帮助

所以,如果我有

IP           ID
129.168.0.2, 12
192.168.0.3, 12
1292.68.0.3, 1

我想要一个显示

的结果集
COUNT, ID
2,     12
1,     1

2 个答案:

答案 0 :(得分:1)

您可以使用aggregate function

试试这个:

select count(distinct IP), ID from table1
group by ID;

答案 1 :(得分:1)

您需要使用group by子句distinct作为IP:

SELECT COUNT(DISTINCT IP), ID FROM table1
GROUP BY ID

否则,您将计算所有IP而不是唯一的IP。