一个pet表,有name,species,birth三项,找出每种species中生日最小的那些记录,用sql语言怎么实现?mysql> describe pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  |     | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

解决方案 »

  1.   

    初学sql,你这样说,楼主很生气,后果很严重。
    以前上过你的博客看过。请一楼记着,技术是用来探讨的,不是用来炫耀的。
      

  2.   

    select a.*
    from pet a inner join 
    (select species,min(birth) as mbirth from pet) b
    inner join on a.species=b.species and a.birth=b.mbirth.
        [align=center]====  ====
    [/align]
    .
    贴子分数<20:对自已的问题不予重视。
    贴子大量未结:对别人的回答不予尊重。
    .
      

  3.   


    谢谢,这是自己想的一个问题,还想不到怎么解决。看这个sql语句还不懂,anyway,3ks.
      

  4.   

    你说的或许有道理,我才看了不到两天sql的参考,其他人说的我还没看到,现在这个阶段上网浏览帖子效率会超低,等多学点再说吧。
    我以前一直做的不是数据库方面的东西,不过遇到别人问我问题都会认真回答,这既帮助了别人也让自己体会到助人的乐趣。现在中国在用的技术都是舶来的,没见到自己开发的什么发人深省振聋发聩的好东西,难道因为别人都讨论过我们就不再讨论了?
    存在即合理,你的说法自有道理,但是说什么“月经贴”感觉有点过。
    这里就不再多说了,若你看着觉得不舒服,可以闭上眼睛。