sql语句查询过滤掉重复记录
主表table1,从表table2;主键id例如:table1:id1a1b1table2:id1c1id2a2b2id2c2id3a3b3id3c3用a做查询时,如果b...
主表table1,从表table2;主键id例如:table1: id1 a1 b1 table2:id1 c1 id2 a2 b2 id2 c2 id3 a3 b3 id3 c3用a做查询时,如果b1=b2,过滤掉b1,b2这两行所有数据,也就是只显示b3这一行数据。请高手帮忙。
展开
4个回答
2013-06-11
展开全部
跟table2有什么关系? 去除重复用:SELECT max(id) AS id, max(a) AS a, b FROM table1 GROUP BY b HAVING Count(*)=1 两个max你换成min或其他聚合函数也可以,因为已经having限制一条了,怎么聚合都是那一条.但是语法要求必须有聚合. 思路其实就是安装b相同的来分组, 然后只保留只1条记录的组.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-11
展开全部
没太明白你的意思,大概意思是这样吧:select * from table1 t where exists (select 1 from table1 where table1.id =t.id group by table1.b having count(table1.b)=1)嵌套sql是查询不重复的id,还可以加其他条件,比如在后面加上 and a=1什么的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-11
展开全部
select *.b from table1,table2 where table1.a=? and b1=!b2
我写的语句肯定是错的,不过应该差不多是这么个思路吧,你再查查SQL的手册确定下语法吧语句吧。SQL接触的比较少o(∩_∩)o...
我写的语句肯定是错的,不过应该差不多是这么个思路吧,你再查查SQL的手册确定下语法吧语句吧。SQL接触的比较少o(∩_∩)o...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-11
展开全部
可以使用distinct做内联查询
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询