select DISTINCT bm, sdj from table_name order by date

解决方案 »

  1.   

    select bm,min(sdj) from mybm where (date=(select min(date) from mybm)) group by bm
      

  2.   

    BM,SDJ,DATE可能出现一天中同一BM,SDJ不同
    现求SQL语句如下
    (此问题求表中的每一个BM的最早DATE(每一个BM的最早DATE不同)的SDJ,
    如果一天中同一BM的SDJ不同,取任意一个SDJ即可)
    》》select bm,min(sdj) from mybm where  
    (date=(select min(date) from  mybm)) group by bm
    求出的是表的所有编码的最早日期,不能用
      

  3.   

    刚才理解错了,不好意思!
    我试了一下SQL,没成功。写个存储过程对付一下。if exists (select * from sysobjects where id = object_id('dbo.midate') and sysstat & 0xf = 4)
    drop procedure dbo.midate
    GOCREATE PROCEDURE midate AS
    create table #bmtmp(bm int not null,date smalldatetime not null)
    insert #bmtmp select bm,min(date) from mybm group by bm
    select mybm.bm,min(mybm.sdj) from mybm,#bmtmp where mybm.bm=#bmtmp.bm and mybm.date=#bmtmp.date group by mybm.bmGO