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

グループを個別と組み合わせて使用​​します。

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 に答える