Phil,

If in the 2nd query you want teams with the highest count per cpid found in the first query, I think you can map the 'Avoiding repeat aggregation' pattern (http://www.artfulsoftware.com/infotree/queries.php) to your problem

PB

-----

Phil wrote:
Hi all,

got a simple problem I'm trying to solve without success.

Given the following table

CREATE TABLE `scores` (
  `proj` char(3) NOT NULL default '',
  `id` int(11) NOT NULL default '0',
  `score` double default NULL,
  `cpid` char(32) default NULL,
  `team` char(20) default NULL,
  PRIMARY KEY  (`proj`,`id`),
  KEY `cpid` (`cpid`,`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |

insert into scores values ('a',1,100,'aaa','X');
insert into scores values ('b',2,50,'aaa','X');
insert into scores values ('c',2,500,'aaa','Y');

I have the following sql to get the sum of scores for the cpid (cross
project id)

select cpid,sum(score) from scores group by cpid;

This is simple enough and works fine. However I also wish to select the team
given this case, I'd like to get 'X' as there are two instances of 'X' and
only one of 'Y'

Is this possible in the same sql statement, something like an AVG for a
string, or a median perhaps.

Regards

Phil







------------------------------------------------------------------------

No virus found in this incoming message.
Checked by AVG. Version: 7.5.519 / Virus Database: 269.22.1/1346 - Release Date: 3/27/2008 10:03 AM

Reply via email to