SELECT id,type,packageno,lotno,date FROM table GROUP BY TYPE , date ORDER BY type , packageno ASC得到结果:id  type  packageno  lotno  date
1681    BEM400-500  VP3.0 130219097  3207  2013-02-19 15:40:45
1682  BEM400-500  VP3.0 130219097  3202  2013-02-19 15:40:48
2218  BEM400-500  VP3.0 130220014  3218  2013-02-20 08:33:10
2206  BEM400-500  VP3.0 130220014  3207  2013-02-20 08:32:38
4851  BEM400-500  VP3.0 130221084  3219  2013-02-21 13:09:47
4846  BEM400-500  VP3.0 130221084  3218  2013-02-21 13:09:35
1771  BEM401-500  VP3.0 130219103  3207  2013-02-19 15:51:30
1784  BEM401-500  VP3.0 130219103  3202  2013-02-19 15:52:11
3541  BEM401-500  VP3.0 130220103  3218  2013-02-20 16:09:11
3542  BEM401-500  VP3.0 130220103  3207  2013-02-20 16:09:15
3059  MEC38-430  VP3.0 130220070  3201  2013-02-20 14:03:37
3046  MEC38-430  VP3.0 130220070  3218  2013-02-20 14:02:54
108  MEC738-000  VP3.0 130218004  3206  2013-02-18 14:43:29
120  MEC738-000  VP3.0 130218004  3207  2013-02-18 14:44:07
如果想得到相同type时,packageno多个的数据值写怎样的sql语句能得到?例中的话只要能去除最后四行就能达到要求。表字段:id,packageno,lotno,type,date

解决方案 »

  1.   

    id,packageno,lotno,type,dateselect *
    from tb A
    where exists (select 1 from tb B where A.type=B.type and A.packageno<>B.packageno)
      

  2.   

    详细说明
    为什么
    1681    BEM400-500     VP3.0 130219097     3207     2013-02-19 15:40:45
    1682     BEM400-500     VP3.0 130219097     3202     2013-02-19 15:40:48
    满足条件?
      

  3.   

    一个packageno对应多个lotno,多个packageno对应一个type。1楼正解!