有个表中数据是这样的:
userid            lessenid        lessenname
   1                1001           外语
   1                1002           数学
   1                1004           化学
   2                1003           物理
   2                1004           化学
   2                1002           数学
   3                1004           化学
   4                1002           数学
  ...               .....          .....
写一查询语句,每个userid只取一条记录,至于lesson取哪个不限,
结果如下所示:
userid            lessenid        lessenname
   1                1002           数学
   2                1002           数学
   3                1004           化学
   4                1002           数学请问这样的sql语句应该怎么写?多谢!!

解决方案 »

  1.   


    Table    Create Table                            
    -------  ----------------------------------------
    csdn_kc  CREATE TABLE `csdn_kc` (                
               `userid` int(11) NOT NULL,            
               `lessenid` int(11) NOT NULL,          
               `lessenname` varchar(100) NOT NULL    
             ) ENGINE=MyISAM DEFAULT CHARSET=gb2312  
    -----------set names gb2312;
    insert into csdn_kc values
    (1,1001,'外语'),
    (1,1002, '数学'),
    (1,1004,'化学'),
    (2,1003,'物理'),
    (2,1004,'化学'),
    (2,1002,'数学'),
    (3,1004,'化学'),
    (4,1002,'数学');
    select * from csdn_kc group by userid order by rand()--------
    query result(4 records)
    userid lessenid lessenname
    1  1001  外语
    2  1003  物理
    3  1004  化学
    4  1002  数学
      

  2.   

    select * from csdn_kc group by userid order by rand() limit 3;
      

  3.   

    query result(3 records)
    userid lessenid lessenname
    1  1001  外语
    2  1003  物理
    3  1004  化学
      

  4.   

    query result(3 records)
    userid lessenid lessenname
    3  1004  化学
    1  1001  外语
    4  1002  数学
      

  5.   

    select * from tablename group by userid