0

简单的 SQL 问题,我搜索但似乎找不到已经问过的答案。

我想查询名称,然后每个名称的唯一 url 计数。

输入:

NAME       URL
John       google.com
John       google.com
John       youtube.com
Bob        youtube.com
Bob        twitter.com

期望的输出:

NAME       URL_count
John       2
Bob        2

我试过了:

SELECT DISTINCT(name), COUNT(URL) as URL_count
FROM database_table
WHERE date='2013-06-12'

似乎没有产生我需要的结果!帮助?

4

3 回答 3

4

由于您希望urls为每个用户计算不同的计数,因此正确的语法将如下所示,它按以下方式使用count(distinct url)和分组数据name

select name, count(distinct url) as URL_count
from yourtable
where date='2013-06-12'
group by name;

请参阅带有演示的 SQL Fiddle

于 2013-06-13T20:38:39.973 回答
1

将 group by 与 distinct 结合使用:

SELECT name, COUNT(DISTINCT URL) as URL_count
FROM database_table
WHERE date='2013-06-12'
GROUP BY NAME
于 2013-06-13T20:38:28.170 回答
1

你可以试试:

SELECT name, COUNT(DISTINCT URL) as URL_count
FROM database_table
WHERE date='2013-06-12'
GROUP BY name
于 2013-06-13T20:38:44.083 回答