表名:Person
数据如下:
Pid          PName          PClass
1              zhao           3
2              zhao           31                li         <Null>
2                li           31               wang          3
2               wang         <Null>1               zhang        <Null>
2               Zhang        <Null>要求:写一条Sql语句求出Pclass=3的人数!(相同PName的算作是同一个人结果应该为3)

解决方案 »

  1.   

    select dinstric pName from person where pclass = 3
      

  2.   

    select count(pid) from ( select pid distinct pName from person where pclass =3)
      

  3.   

    SELECT count(a.pname)
    FROM   
        (SELECT pname,pclass 
        FROM   person 
        GROUP BY pname,pclass
        ) a
    WHERE a.pclass=3
      

  4.   

    要求:写一条Sql语句求出Pclass=3的人数!(相同PName的算作是同一个人结果应该为3)
      

  5.   

    写错了点
    select count(pid) from ( select distinct pid from person where pclass =3)
      

  6.   

    SELECT count(a.pname)
    FROM   
        (SELECT pname,pclass 
        FROM   person 
        GROUP BY pname,pclass
        ) a
    WHERE a.pclass=3
    __________________________
    正解select count(pid) from ( select distinct pid from person where pclass =3)
    -------------
    结果为2
    select count(pname) from ( select distinct pname from person where pclass =3) a
      

  7.   

    是啊,
    SELECT count(a.pname)
    FROM   
        (SELECT pname,pclass 
        FROM   person 
        GROUP BY pname,pclass
        ) a
    WHERE a.pclass=3

    select count(pname) from ( select distinct pname from person where pclass =3) a
    结果都是3
      

  8.   

    select count(dinstric pName) from person where pclass = 3