我使用asql package(sqlite)来分析apache日志文件。我正在尝试运行一个返回[不同IP地址] [已验证用户]的查询[用户已从该IP地址进行身份验证的次数]
几乎有效但不包含计数的查询是:
SELECT DISTINCT(source), user FROM logs ORDER BY user
但是只要添加COUNT(*)我就会返回一行。如果我尝试:
SELECT DISTINCT(source), user, COUNT(*) FROM logs GROUP BY user
我无法看到一个用户从多个IP进行身份验证的位置。我是sql的新手,不知道我是否需要使用别名或嵌套计数查询。
答案 0 :(得分:1)
您想在source
中加入group by
。
SELECT source, user, COUNT(*)
FROM logs
GROUP BY source, user ;
DISTINCT
不是一个功能。 SQL中有一个SELECT DISTINCT
的子句,DISTINCT
适用于所有列,无论括号如何。