I would suggest a union SELECT name, count(*) FROM (SELECT name1 as name from mytable union select name2 as name from mytable union select name3 as name from table) GROUP BY name
but perhaps there's a better way... Regards, Patrick > -----Original Message----- > From: Critters [mailto:[EMAIL PROTECTED] > Sent: Thursday, 19 January 2006 16:17 > To: mysql@lists.mysql.com > Subject: Group By over many colums > > Hi > I have a table setup like this: > > id, name1, name2, name3 > > Which has data like this: > > 1, Dave, Bob, Simon > 2, Joe, Tim, Dave > 3, Dave, Bob, Tom > > I can run > > SELECT name, count(id) FROM <tablename> GROUP BY name1 ORDER > BY count(id) DESC > > Which would give me: > > Dave, 2 > Joe, 1 > > But how would I go about getting the following result: > > Dave, 3 > Bob, 2 > Tom, 2 > Joe, 1 > Simon, 1 > > Where it groups by name1, name2 and name3? Is it possible? > - > David Scott -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]