求一条SQL语句-如何过滤掉重复记录?请高手帮帮忙?急 !!在线等
表里有这样的两条数据 :
num rq
----- ----------
00001 2005-05-05
00001 2005-05-06
关键字 :num+rq
现在我想过滤掉任意一条(我只需一条该员工5月份的数据)
sql语句该如何写?
我试过用 select distinct num,rq from m_table .可是不行
问题点数:20、回复次数:12Top
1 楼bfyqlxd(*小朋友*)回复于 2005-06-03 22:30:33 得分 0
高手出来帮帮忙Top
2 楼lzheng2001(1加1)回复于 2005-06-03 22:44:01 得分 2
试试
delete m_table from m_table a
inner join (select num,min(rq) as rq group by num) as b
On a.num = b.num and a.rq > b.rqTop
3 楼l506345z(北罗师门)回复于 2005-06-03 22:44:08 得分 2
SELECT num,rq FROM m_table WHERE rq>2005-05-01 AND rq <2005-05-31
查出来后记录集移到第一条就是了!Top
4 楼bfyqlxd(*小朋友*)回复于 2005-06-04 15:41:53 得分 0
不行啊,还有没有其他方法?Top
5 楼hzh_net(_风云_)回复于 2005-06-04 15:57:52 得分 2
SELECT num,rq FROM m_table WHERE rq>'2005-05-01' AND rq <'2005-05-31'Top
6 楼Steve_l(VBVC)回复于 2005-06-04 16:06:16 得分 2
select distinct num,year(rq) As year,month(rq) as month from m_table
试试这样子,能否满足你的要求.Top
7 楼jian_aa(aa)回复于 2005-06-04 16:52:07 得分 2
select distinct num from m_table WHERE rq>'2005-05-01' AND rq <'2005-05-31'Top
8 楼lzheng2001(1加1)回复于 2005-06-04 17:08:38 得分 2
我以为楼主要把多余的数据删除呢,所以上面用了DELETE.
select distinct num,MIN(rq) from m_table Group by num order numTop
9 楼lzheng2001(1加1)回复于 2005-06-04 17:08:55 得分 2
select distinct num,MIN(rq) from m_table Group by num order by numTop
10 楼wenhongL(三脚猫)回复于 2005-06-04 17:21:23 得分 2
SELECT top 1 num,rq FROM m_table WHERE rq>'2005-05-01' AND rq <'2005-05-31'Top
11 楼cxbkkk(本命年,旺啊!)回复于 2005-06-05 12:07:56 得分 2
这个要看你的要求啊,如果你不是要求最新的话就可以在查询的时候使用Top 1 就是勒Top
12 楼vbman2003(家人)回复于 2005-06-05 18:10:21 得分 2
wenhongL(三脚猫)的这个可以
SELECT top 1 num,rq FROM m_table WHERE rq>'2005-05-01' AND rq <'2005-05-31'
这样也行:
select num,max(rq) as rq from m_table
where rq between '2005-05-01' and '2005-05-31'
group by num
Top




