首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Access >

排除掉重复结果的SQL语句

2012-02-06 
排除掉重复结果的SQL语句求助这样一张表IDPIDState11aaaaa21bbbbb32ccccc42ddddd51b1b1b162a1a1a173d2dd2d

排除掉重复结果的SQL语句求助
这样一张表
ID PID State
1 1 aaaaa
2 1 bbbbb
3 2 ccccc
4 2 ddddd
5 1 b1b1b1
6 2 a1a1a1
7 3 d2dd2d
8 3 343434


要求:查询结果为
5 1 b1b1b1
6 2 a1a1a1
8 3 343434

也就是说PID相同的记录只取ID值最大的那一条。
谢谢了。

[解决办法]

SQL code
select *from 这样一张表 awhere not exists (select 1 from 这样一张表 where PID=a.PID and State>a.State)
[解决办法]
写错了。应该是ID最大的,修改如下

SQL code
select *from 这样一张表 awhere not exists (select 1 from 这样一张表 where PID=a.PID and ID>a.ID)
[解决办法]
GOOD JOB!~ADMIRE~
[解决办法]
select a.* from tt a inner join (select PID,max(id) as max_id from tt group by PID) b
on a.PID=b.PID and a.ID=b.max_id
[解决办法]
前几天刚遇到了这个问题,很不错,也很精典,解决方法

select e.ID,e.Pid,e.State from 这一张表 as e,(select ParentId,max(id) as pp from 这一张表 group by PID) b where e.id=b.pp

热点排行