RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Language: SQL Server
Expertise: Beginner
Sep 18, 1998



Building the Right Environment to Support AI, Machine Learning and Deep Learning


I have a table like this:

name   cat1     cat2
----   ------   -----
A       1       orange
A       1       orange
B       1       apple
B       1       apple
B       1       apple
C       2       banana
C       2       banana
C       2       banana
C       2       banana
How can I form the query so that the result will be:

cat2      cat1   count(cat2)
----      ----   -----------
orange      1        2
apple       1        3
banana      2        4
I have tried a combination of group by, distinct and whatnot, but I always get
orange      1
orange      1        
apple       1
apple       1  
apple       1     
banana      2
banana      2
banana      2
banana      2
Also, what will be a good book on SQL? Any good discussion list I can join to pick up SQL? I have just started on SQL and have to gain proficiency in a very short time. Right now I am using both Access and SQL6.5.

I have tried a few books but they do not help a lot. The queries are a bit too simple.

I'm not sure exactly what you previously tried. However, the following SQL should do the trick.

select cat2,cat1,count(*)
from table_name
group by cat2,cat1
As far as good books are concerned, Joe Celko has an introductory book on SQL. When you get past that one, you can go on to his more advanced books.
DevX Pro
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date