Jump to content

[SOLVED] Union with count - return multiple fields


Recommended Posts

This is my query:

 

(
SELECT `unixtime2` , `pagenum` , count( DISTINCT `ipaddress` ) AS pagenumtotal
FROM `orders1`
WHERE unixtime2 >20081031
AND pagenum != ''
GROUP BY `unixtime2` , `pagenum`
ORDER BY `unixtime2` , pagenum ASC
)
UNION (

SELECT `unixtime2` , `pagenum` , count( DISTINCT `ipaddress` ) AS pagenumtotal
FROM `ordersbp`
WHERE unixtime2 >20081031
AND pagenum != ''
GROUP BY `unixtime2` , `pagenum`
ORDER BY `unixtime2` , pagenum ASC
) 

 

This query yields two separate values for each date and doesn't merge them, a result of the "Count" function.  If I were doing a query for just the count alone could use  "+" instead of "union" but I need to return values based on the date, pagenum and the unique count of ip addresses for each.

 

Advice? Thanks so much!

Try a subquery:

 

SELECT unixtime2, pagenum, count(DISTINCT ipaddress) as pagenumtotal
FROM 
(
SELECT `unixtime2` , `pagenum` , `ipaddress`
FROM `orders1`
WHERE unixtime2 >20081031
AND pagenum != ''
GROUP BY `unixtime2` , `pagenum`
ORDER BY `unixtime2` , pagenum ASC
)
UNION ALL (

SELECT `unixtime2` , `pagenum` , `ipaddress`
FROM `ordersbp`
WHERE unixtime2 >20081031
AND pagenum != ''
GROUP BY `unixtime2` , `pagenum`
ORDER BY `unixtime2` , pagenum ASC
)) a 

 

(untested)

Thanks got it to work.  Looks like this:

 

SELECT unixtime2, pagenum, count( DISTINCT ipaddress ) AS pagenumtotal
FROM (
(

SELECT `unixtime2` , `pagenum` , `ipaddress`
FROM `orders1`
WHERE unixtime2 > $numweeks
AND pagenum != ''
)
UNION ALL (

SELECT `unixtime2` , `pagenum` , `ipaddress`
FROM `ordersbp`
WHERE unixtime2 > $numweeks
AND pagenum != ''
)
) AS ABC
GROUP BY `unixtime2` , `pagenum`
ORDER BY `unixtime2` , pagenum ASC

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.