I have a SELECT DISTINCT query result to which I would like to add a row number to each row. I have tried ROW_NUMBER OVER… syntax, but after a lot of research I think that it turns out this is not supported in ACCESS.
I have a table of information called – SYNC002_ACCESS and the query below:
x
SELECT DISTINCT pluquo
FROM SYNC002_ACCESS;
Which gives me a list of distinct values, 336 rows. What I need is to add a second column to that query which will have numbers for each row : 1/2/3/4/5……335/336.
I will really appreciate if someone is able to help me as I have been struggling with this quite a while now. Thank you
Advertisement
Answer
One way to do it is with a correlated subquery:
SELECT s.pluquo,
(SELECT COUNT(*)
FROM (SELECT DISTINCT pluquo FROM SYNC002_ACCESS) AS t
WHERE t.pluquo <= s.pluquo
) AS row_number
FROM (
SELECT DISTINCT pluquo
FROM SYNC002_ACCESS
) AS s
Or with a self join:
SELECT s1.pluquo, COUNT(*) AS row_number
FROM (SELECT DISTINCT pluquo FROM SYNC002_ACCESS) AS s1
INNER JOIN (SELECT DISTINCT pluquo FROM SYNC002_ACCESS) AS s2
ON s2.pluquo <= s1.pluquo
GROUP BY s1.pluquo