oracle怎样使用SQL查询表A中字段a存在重复值的详细信息,并按照字段a数据重复次数输出详细信息。
表A中有a,b,c字段。其中a字段存在重复的值,也存在不重复的值。请问怎样的sql语句能将a字段存在重复的表A的数据查询出来,并且按照重复次数依次输出详细的值(包括重复字...
表A中有a,b,c字段。
其中a字段存在重复的值,也存在不重复的值。
请问怎样的sql语句能将a字段存在重复的表A的数据查询出来,并且按照重复次数依次输出详细的值(包括重复字段a对应的b,c数据)
前半截很容易,主要是后半截怎样实现。
输出的结果如下:
表A
a b c
a1 b1 c1
a1 b2 c7
a1 b3 c4
a1 b4 c5
a2 b1 c5
a2 b2 c9
a2 b4 c1
a3 b6 c5
a3 b4 c2 展开
其中a字段存在重复的值,也存在不重复的值。
请问怎样的sql语句能将a字段存在重复的表A的数据查询出来,并且按照重复次数依次输出详细的值(包括重复字段a对应的b,c数据)
前半截很容易,主要是后半截怎样实现。
输出的结果如下:
表A
a b c
a1 b1 c1
a1 b2 c7
a1 b3 c4
a1 b4 c5
a2 b1 c5
a2 b2 c9
a2 b4 c1
a3 b6 c5
a3 b4 c2 展开
展开全部
select * from a where a in (select a from 表A group by a having count(a)>1)
这样就可以了,你试试吧
这样就可以了,你试试吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select t.* from tabxxx t,
(select a,count(*) as cnt from table1 group by a having count(*)>1
) tmp
where t.a=tmp.a
order by tmp.cnt
(select a,count(*) as cnt from table1 group by a having count(*)>1
) tmp
where t.a=tmp.a
order by tmp.cnt
追问
语句好像有问题,pld一直报missing expression。要不就是缺少右括号。尝试修正也一直报错。看的有点迷茫,重复字段名称设为sfz怎么写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select x.* from table1 x,
(select a,count(*) cnt from table1 group by a) y
where x.a=y.a
order by y.cnt desc
(select a,count(*) cnt from table1 group by a) y
where x.a=y.a
order by y.cnt desc
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询