m i l e s <[EMAIL PROTECTED]> wrote on 08/08/2005 03:10:21 PM: > > Hi, > > IS the following query counting cumulative (see below **) pHITS or is > it counting individual counts for each user for a particular day. Im > not skilled enough to answer this question myself. My instinct says > that its counting cumulative values and NOT individual counts for > each property name. > > SELECT > search_members.Property_Name AS pNAME, > search_members.Property_Email AS pEMAIL, > MAX(user_count.u_datetime) AS pDATE, > **COUNT(user_count.u_userid) AS pHITS > FROM search_members INNER JOIN user_count ON > search_members.Property_ID = user_count.u_userid > GROUP BY pNAME, pEMAIL, search_members.Property_ID > ORDER BY pDATE DESC > > I have a feeling that the COUNT line should be something similar to > select distinct statement.... > > Any ideas ? > > Sincerely, > > M i l e s. >
Your original query,reformatted for explanatory purposes: SELECT search_members.Property_Name AS pNAME, search_members.Property_Email AS pEMAIL, MAX(user_count.u_datetime) AS pDATE, COUNT(user_count.u_userid) AS pHITS FROM search_members INNER JOIN user_count ON search_members.Property_ID = user_count.u_userid GROUP BY pNAME , pEMAIL , search_members.Property_ID ORDER BY pDATE DESC You wanted to know what this query is calculating, right? Let's look first at your select terms: terms 1 and 2 are direct field values, terms 3 and 4 are the results of aggregate functions. Now let's look at what you are grouping by: pNAME, pEMAIL, and search_members.Property_id. if you had done a GROUP BY *only on* pNAME and pEMAIL, you would have seen each pair of values appear only once in your output along with the last time they did *something* (not sure what it was), the pDate value, and how many times they did it, the pHITS value. However you are also computing those statistics _ for each property_ID _. So if the same pNAME+pEMAIL pair had performed whatever it was they had to do to generate some pDate and pHITS values for more than one Property_ID value, then you will see one pNAME+pEMAIL pair listed for EACH PROPERTY ID to which the statistics apply. One way to see this more clearly is to add the Property_ID column into the SELECT portion of your query. SELECT search_members.Property_Name AS pNAME, search_members.Property_Email AS pEMAIL, search_members.Property_ID, MAX(user_count.u_datetime) AS pDATE, COUNT(user_count.u_userid) AS pHITS FROM search_members INNER JOIN user_count ON search_members.Property_ID = user_count.u_userid GROUP BY pNAME , pEMAIL , search_members.Property_ID ORDER BY pDATE DESC Now you should be able to physically "see" why the pNAME+pEMAIL pairs were duplicating in what may have appeared to be randomly and without reason. I am not sure if I answered your question but this seemed like the most likely issue for confusion. Is it cumulative? Yes. Is it per day? No. Is it per Name+Email+Property_ID? Yes. HTH! Shawn Green Database Administrator Unimin Corporation - Spruce Pine