有表如
CREATE TABLE `testtable` (
  `PlayerID` int(11) NOT NULL,
  `LastSevID` int(11) NOT NULL default '0',
  `Mark` decimal(16,1) NOT NULL default '0.0',
  `Level` int(11) NOT NULL default '1',
  PRIMARY KEY  (`PlayerID`,`LastSevID`),
  KEY `Mark` (`Mark`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AVG_ROW_LENGTH=225 COMMENT='InnoDB free: 93184 kB';现在我有数据
1  2  10 1
1  3  10 2
1  4  10 3
1  5  10 4
现在我只想查询到表中有多少的playerID 也就是我只要显示不重复的playerID,我的查询语句该怎么写

解决方案 »

  1.   

    select count(distinct PlayerID ) from testtable;
      

  2.   

    select count(*) from (select distinct PlayerID from testtable) t;
      

  3.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  4.   

    select distinct playerID from testtable;或者select playerID from testtable group by playerID;
      

  5.   

    select distinct playID FROM testtable;
    或者
    select a.playID  from (select distinct playid from )a;