Solved

Ranking in Access

Posted on 2012-03-12
8
287 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
  • 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
 

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
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

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…
We were having a lot of "Heartbeat Alerts" in our SCOM environment, now "Heartbeat" in a SCOM environment for those of you who might not be familiar with SCOM is a packet of data sent from the agent to the management server on a regular basis, basic…
The view will learn how to download and install SIMTOOLS and FORMLIST into Excel, how to use SIMTOOLS to generate a Monte Carlo simulation of 30 sales calls, and how to calculate the conditional probability based on the results of the Monte Carlo …
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…

920 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now