On 02/04/2011 04:00 AM, sqlite-users-requ...@sqlite.org wrote:
> On 2/3/2011 12:10 PM, Scott Baker wrote:
>> >  CREATE Table Customers (
>> >    EntryID INTEGER PRIMARY KEY,
>> >    CustomerID INT,
>> >    Type ENUM
>> >  );
>> >
>> >  #1) Query for customers who*ONLY*  bought apples
> select CustomerID from Customers
> group by CustomerID
> having sum(Type = 'Apple')>0 and sum(Type != 'Apple')=0;
>
>> >  #2) Query for customers who bought apples*AND*  bananas
> select CustomerID from Customers
> group by CustomerID
> having sum(Type = 'Apple')>0 and sum(Type = 'Banana')>0;
>
>> >  #3) Query for customers who bought exactly 2 apples?
> select CustomerID from Customers
> group by CustomerID
> having sum(Type = 'Apple') = 2;
>
> -- or
>
> select CustomerID from Customers
> where Type = 'Apple'
> group by CustomerID
> having count(*) = 2;

This is exactly what I needed thank you so much!

I thought of one other case that I couldn't figure out. How would I get 
a count (instead of a list) of all the customers that bought exactly two 
apples? I spent about 45 minutes hacking on the above but I couldn't get 
it. I'm thinking that would have to be a subselect?

-- 
Scott Baker - Canby Telcom
System Administrator - RHCE - 503.266.8253
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to