Solved

SQL QUERY - Count Results of a Column based on uniqueness of another Column

Posted on 2006-07-19
4
447 Views
Last Modified: 2011-08-18
Hello,

I have a query situation that is not coming clear to me, I would appreciate an experts help on the following:

DB: MSSQL 2005

Scenario:

I have data that looks similar to this:

 Col1      Col2      Col3
ABCDE  12345    07/11/2006
FGHIJ    65431    07/11/2006
ABCDE  12345    07/11/2006
XYXSY  55321    07/11/2006
DFJGH  35332    07/11/2006
ABCDE  12345    07/12/2006
HFGGS  35530   07/12/2006
ABCDE  65432   07/12/2006
LJJSF   55351   07/12/2006

I am trying to build a query that will count, by day, the number of occurrences of COL1, but COL2 must be unique. So, in this example, for 07/11/2006 ABCDE would have a count of 1, because COL2 is a duplicate. In other words, it is ok for COL1 to duplicate, but not COL2. For 07/12/2006, ABCDE would have a count of 2 - two occurrences because COL2 is unique in each case. I have had this working when the requirement was only to count COL1 by day. When we added the described criteria, I haven't been able to get my arms around it. I've been working with sub queries, but can't seem to get the results I am looking for.

I hope this makes sense. Your assistance is appreciated.

Best,
mwheeler_fsd
0
Comment
Question by:mwheeler_fsd
  • 2
4 Comments
 
LVL 26

Expert Comment

by:DireOrbAnt
ID: 17140205
SELECT Col1, Col3, count(*) AS 'Count'
FROM MyTable
GROUP BY Col1, Col3
0
 
LVL 7

Accepted Solution

by:
FDzjuba earned 500 total points
ID: 17140252
SELECT col1,,col3,COUNT(DISTINCT col1+col2)
      FROM Table
GROUP BY col1,col3
0
 

Author Comment

by:mwheeler_fsd
ID: 17140311
Thanks to all for their input.

The COL1+COL2 got the uniqueness required. I did not realize you could compound. Many thanks - I also learned a new technique!

Points awarded and gratitute to all.

Best,
mwheeler_fsd
0
 

Author Comment

by:mwheeler_fsd
ID: 17140318
"gratitude" :)
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

743 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

9 Experts available now in Live!

Get 1:1 Help Now