Solved

Ranking in Access

Posted on 2012-03-12
8
318 Views
Last Modified: 2012-03-23
I have an access table that has points calulated.

vendor 1
Rating 1  60 pts
Rating 2  40 pts
Rating 3  40 pts
Rating 4  30 pts
Rating 5  20 pts

I have created a query that ranks the ratings.  It comes out so:
1
2
2
4
5

What I need it to do is a distinct rating like so:
1
2
2
3
4
0
Comment
Question by:dbasetrouble
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
8 Comments
 
LVL 15

Accepted Solution

by:
Ess Kay earned 500 total points
ID: 37711831
that makes no sense. can you please provide a screenshot
0
 

Expert Comment

by:gnetgnet
ID: 37711833
Do a
Select Distinct Ranking
0
 

Author Comment

by:dbasetrouble
ID: 37715933
Snapshot of Table.Here is a screen snap shot of the Database table.  I need ranking according to the points column.  There is a tie.  I need the rank to look like this:
1
2
2
3
4
Not
1
2
2
4
5
0
SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

 

Expert Comment

by:gnetgnet
ID: 37716005
I see your problem, I don't have an answer for that off the top of my head. Sorry!
0
 
LVL 15

Expert Comment

by:Ess Kay
ID: 37716120
1        one solution is to order it by rating, then take the row number


2          another is to use WITH TIES

source: http://harriyott.com/2007/06/with-ties-sql-server-tip.aspx

SELECT TOP 5 WITH TIES Name, Score
FROM Scores
ORDER BY Score DESC

Open in new window


Which gives:

Name      Score
Brenda      42
Maureen      41
Edwin      41
Terry      40
Rupert      39
Arthur      39
Paula      39




If you choose to use the second method. You can query into it from another query and select the rankings that way
0
 
LVL 15

Expert Comment

by:Ess Kay
ID: 37716369
Actually this will probably work better



SELECT * FROM
 (SELECT id, points from member1 )Y INNER JOIN
(SELECT DISTINCT points, count(*)as rating FROM member1 GROUP BY points ORDER BY points )X ON Y.points = X.points
ORDER BY Points
0
 

Author Comment

by:dbasetrouble
ID: 37716537
Thanks for the help.  Figured out a much easier way.  I created a query call distinctrank.  I added just the points field and change the query properties to uniquevalue=Yes.  I then create a expression field in the regular query that looks like this:

Rank1: DCount("*","distinctrank","Points >" & [Points])+1

Work out great.
0
 
LVL 15

Expert Comment

by:Ess Kay
ID: 37716583
great to hear, if you have a large table the last one i added might work quicker, but it looks like you might not need it
0

Featured Post

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The canonical version of this article is on my web site here: http://iconoun.com/articles/collisions/ A companion presentation is available here: http://iconoun.com/articles/collisions/Unicode_Presentation.pdf
As with any other System Center product, the installation for the Authoring Tool can be quite a pain sometimes. This article serves to help you avoid making these mistakes and hopefully save you a ton of time on troubleshooting :)  Step 1: Make sur…
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

717 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question