I want to join two or more select statements that have a group by clause, but it isn’t working.
SELECT COUNT(`rank`) AS rank1,sitename
FROM `larrdb_ranking`
INNER JOIN larrdb_site_list USING (sid)
WHERE rank=1
GROUP BY sitename
UNION
SELECT COUNT(`rank`) AS rank2 ,sitename
FROM `larrdb_ranking`
INNER JOIN larrdb_site_list USING (sid)
WHERE rank=2
GROUP BY sitename
All what I get is the first statement working, but the second statement doesn’t.. I don’t get the rank2 selected
UPDATE:
Union All doesn’t work too:
SELECT COUNT(`rank`) AS rank1,sitename
FROM `larrydb_ranking`
INNER JOIN larrydb_site_list USING (sid)
WHERE rank=1
GROUP BY sitename
UNION ALL
SELECT COUNT(`rank`) AS rank2 ,sitename
FROM `larrydb_ranking`
INNER JOIN larrydb_site_list USING (sid)
WHERE rank=2
GROUP BY sitename
column..rank2 isn’t being presented
Try this: