在日期范围之间从mySQL表中获取唯一值

时间:2010-09-02 15:27:32

标签: php mysql

我有这张桌子:

alt text

我需要查询表并提出以下问题:

在'y'和'z'日期之间存在与uri'x'匹配的行数与唯一的IP地址。

我正在尝试使用COUNTs,但我似乎无法得到我需要的结果......

2 个答案:

答案 0 :(得分:5)

尝试使用COUNT(DISTINCT())

返回具有不同非NULL expr值的行数。

所以你的查询就像

SELECT COUNT( DISTINCT( user_ip ) ) 
FROM table 
WHERE timestamp BETWEEN Y and Z

答案 1 :(得分:1)

DISTINCT关键字强制在查询中仅返回唯一条目。正如ConroyP提到的上述答案,您可以将DISTINCT嵌套在SQL中的其他函数中。请注意,这与“UNIQUE”具有不同的功能,后者在SQL的数据定义语言部分强制执行唯一性约束。有些数据库还允许您在查询中替换关键字UNIQUE用于DISTINCT - 但这似乎无处不在。