Reputation: 140
I have a table in MS Access 2003 that looks like this:
*url id* example.com red example.com blue example.com blue other.com red other.com orange more.com blue
For each URL I want to know how many unique id there are. so in this case the result should be:
*url count of distinct id* example.com 2 (because red and blue are the only values) other.com 2 more.com 1
This is very similar to SQL query to count number of different values except the solution in that case does not work because it relies on COUNT DISTINCT
, but that is not supported in Access. I have tried to look up alternative ways of doing count distinct in Access but I'm afraid I don't understand the answers.
So I guess this problem can be summarized as "how to simulate count distinct in msaccess".
I would greatly appreciate it if someone can give me a hint.
Upvotes: 8
Views: 490
Reputation: 9500
Here is another way of doing it without using the distinct keyword. (Although it looks like later versions of access would support it):
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;
Upvotes: 1
Reputation: 247860
This should work in MS Access 2003 (I just tested it):
SELECT url, count(id) as CountOfId
FROM
(
SELECT distinct id, url
FROM yourtable
) x
GROUP BY url
In this you get the distinct id and url in a subquery and then you count that result.
Upvotes: 5