日期:2014-05-17  浏览次数:20753 次

请教大家一个SQL语句!!!!!!!!
假设表名字A ,有三字段id(int) 、a(字符型)、b(日期型)。
我想找出,在b同年同月中,去掉a的重复值,只保存id最大的
比如:id   a   b
      1   x   2013-04-25
      2   x   2013-04-12
      3   x   2013-03-25
      4   y   2012-04-21
要得到的值:id   a   b
           1   x   2013-04-25
           3   x   2013-03-25
           4   y   2012-04-21

      

------解决方案--------------------
上面那个有点小问题,用这个吧
SQL> select * from test where b in (select min(b) from test group by extract(year from b) 
------解决方案--------------------
 extract(month from b) 
------解决方案--------------------
 a);

        ID A  B
---------- -- ---------
         2 x  12-APR-13
         3 x  25-MAR-13
         4 y  21-APR-12