22

個別の日付、それらの日付に関連付けられている電話番号、および日付ごとの電話番号の数を取得するクエリがあります。

たとえば、日付と電話番号を含むデータベースがあり、結果を次のようにしたいとします。

9/2005      5554446666    3
9/2005      4445556666    1
10/2005     1112223333    1
11/2005     2223334444    2

このクエリで日付とカウントを取得できます。

SELECT DISTINCT date, count(phone) AS count
FROM calls
GROUP BY date

私が取得できないように見えるのは、「カウント」がカウントしている電話番号です。一意の値のリストの単一インスタンスを取得するには、ある種の集計関数が必要だと思いますが、First()と他のいくつかはSQLエラーをスローするだけです。サブクエリが必要ですか?

4

5 に答える 5

32
SELECT date, PhoneNumber, count(phone) AS count
    FROM calls
    GROUP BY date, PhoneNumber 

やるべきだと思う

于 2009-05-26T23:39:34.273 に答える
8

あなたは次のようなものを試してみたいかもしれません

SELECT Date, Phone, Count(*) As Count From Calls GROUP BY Date, Phone

これにより、各日付の各電話番号の集計と、その番号がその日に表示された回数がわかります。

于 2009-05-26T23:39:57.643 に答える
4
SELECT date, phone, count(phone) AS count FROM calls GROUP BY date, phone

(GROUP BY では DISTINCT は必要ありません。)

于 2009-05-26T23:41:42.130 に答える
2

これは、電話ではなく日付でグループ化しているためです。

日付の1つのグループには、3つの異なる数値が存在する可能性があり、SQLがどれを必要としているかを知ることは不可能です。

于 2009-05-26T23:38:45.757 に答える
0

以下を試してください

カウント(電話) FROM コール

Distinct Count が表示されます。

于 2013-12-19T16:42:37.563 に答える