Getting a count of distinct counts in mySql -
i have 2 tables 1 teams 1 players trying find out total head count table, in other words want have count of total number of teams have 2 members, number of teams have 3 members etc
here database structure.
(sidebar question: i'm newbee here: there better way post sql? )
create table `formsfiles`.`teams` ( `id` int not null auto_increment , `name` varchar(45) null , primary key (`id`) ); insert `teams` (`name`) values ('sharks'); insert `teams` (`name`) values ('jets'); insert `teams` (`name`) values ('fish'); insert `teams` (`name`) values ('dodgers'); create table `players` ( `id` int not null auto_increment , `name` varchar(45) null , `team_id` int null , primary key (`id`) ); insert `players` (`name`, `team_id`) values ('jim', '1'); insert `players` (`name`, `team_id`) values ('tom', '1'); insert `players` (`name`, `team_id`) values ('harry', '2'); insert `players` (`name`, `team_id`) values ('dave', '2'); insert `players` (`name`, `team_id`) values ('tim', '3'); insert `players` (`name`, `team_id`) values ('trey', '4'); insert `players` (`name`, `team_id`) values ('jay', '4'); insert `players` (`name`, `team_id`) values ('steve', '4'); insert `players` (`name`, `team_id`) values ('chris', '4');
what want count team sizes.
i see following output
team_size count 1 1 2 2 4 1
the simplest way be:
select team_count, count(*) (select count(*) team_count players group team_id) sq group team_count
(although won't include teams no players in them.)
sqlfiddle here.
Comments
Post a Comment