SQL计数查询帮助

时间:2011-02-04 05:09:04

标签: mysql sql

我有一个包含三列的表,另一个存储用户的ip地址。我想查询,但想限制它,以便ip_address列中的ip用户只计算一次。这是我当前的查询

SELECT COUNT(*) FROM articles where article_id = '1'

3 个答案:

答案 0 :(得分:5)

您想要计算唯一的IP地址吗?使用count(distinct)

SELECT COUNT(DISTINCT IP_address) FROM articles where article_id = '1'

答案 1 :(得分:0)

为了说清楚,以下是GROUP BY的解决方案:

SELECT COUNT(*) FROM (SELECT IP_address FROM articles GROUP BY IP_address WHERE article_id = '1')

我只发布它,以便其他人可以将它与使用COUNT(DISTINCT IP_address)的更好的解决方案already posted进行比较,看看其中一个与另一个不同。

如果有更好的方法将GROUP BY用于同一任务,我还没有学习它。

答案 2 :(得分:-2)

SELECT IP, COUNT(IP) FROM ARTICLES WHERE ARTICLE_ID = '1' GROUP BY IP
相关问题