8

次のような MS Access 2003 のテーブルがあります。

    *URL ID*
    example.com 赤
    example.com 青
    example.com 青
    other.com 赤
    other.com オレンジ
    more.com ブルー

URLごとに、一意のIDがいくつあるか知りたいです。したがって、この場合、結果は次のようになります。

    *個別 ID の URL カウント*
    example.com 2 (赤と青が唯一の値であるため)
    その他.com 2
    more.com 1

これは、異なる値の数を数える SQL クエリに非常に似ていますが、その場合のソリューションは に依存しているため機能しませんCOUNT DISTINCTが、Access ではサポートされていません。Access で個別のカウントを行う別の方法を調べようとしましたが、答えがわかりません。

したがって、この問題は「msaccess で個別のカウントをシミュレートする方法」として要約できると思います。

誰かが私にヒントを与えることができれば幸いです。

4

2 に答える 2

5

これは MS Access 2003 で動作するはずです (テストしたところです):

SELECT url, count(id) as CountOfId
FROM
(
   SELECT distinct id, url
   FROM yourtable
) x
GROUP BY url

これでは、サブクエリで個別の ID と URL を取得し、その結果をカウントします。

于 2012-12-13T01:47:51.720 に答える
1

ここでは、distinct キーワードを使用せずにそれを行う別の方法を示します。(最近のバージョンのアクセスではサポートされているようですが):

SELECT t.url, Count(*) AS distinct_id_count
FROM
(
    SELECT url
    FROM *source_table_name_here*
    GROUP BY url, id
) AS t
GROUP BY t.url
ORDER BY COUNT(*) DESC, t.url;
于 2012-12-13T01:55:34.970 に答える