SQL 过滤重复 按规则重复的保留一条记录

[复制链接]
查看11 | 回复2 | 2011-3-9 14:37:01 | 显示全部楼层 |阅读模式
select TB_RAORDER.ORDERID,TB_RAORDER.ORDERNUMBER,TB_RAORDER.ORDERDATE,ODOMETER,COSTOBJECT,ORDERSUMMARY
from TB_RAORDER inner JOIN tb_coaccount on TB_RAORDER.ORDERNUMBER=tb_coaccount.ORDERNUMBERwhereSUMMARY like'%机油%'

我现在要过滤 数据 重复的只显示一条
规则是:
如果ORDERSUMMARY 相同 判断TB_RAORDER.ORDERDATE 保留TB_RAORDER.ORDERDATE 时间 最大的
该怎么做?
ORDERID ORDERDATE
ORDERSUMMARY
1
2010-7-01
对1进行维修
1
2010-7-02
对1进行维修
2
2010-9-02
对2进行维修
2
2010-9-11
对2进行维修
最后我要留下
ORDERID ORDERDATE
ORDERSUMMARY
1
2010-7-02
对1进行维修
2
2010-9-11
对2进行维修

回复

使用道具 举报

千问 | 2011-3-9 14:37:01 | 显示全部楼层
SELECT ORDERID, ORDERDATE,ORDERSUMMARYFROM tab t1WHERE NOT EXISTS(SELECT 1 FROM tab WHERE ORDERSUMMARY= t1.ORDERSUMMARY AND ORDERDATE> t1.ORDERDATE )即可
回复

使用道具 举报

千问 | 2011-3-9 14:37:01 | 显示全部楼层
select TB_RAORDER.ORDERID,TB_RAORDER.ORDERNUMBER,max(TB_RAORDER.ORDERDATE),ODOMETER,COSTOBJECT,ORDERSUMMARYfrom TB_RAORDER inner JOIN tb_coaccount on TB_RAORDER.ORDERNUMBER=tb_co
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行