oracle 取出某一字段所有不重复记录

useridcontent123问啊123大道234大多数456大啊我想得到的数据是useridcontent123大道234大多数456大啊或者:123问啊234大多数... userid content
123 问啊
123 大道
234 大多数
456 大啊
我想得到的数据是
userid content
123 大道
234 大多数
456 大啊
或者:
123 问啊
234 大多数
456 大啊
都行,麻烦给出sql语句。谢谢
展开
 我来答
badkano
推荐于2016-08-23 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885365
团长

向TA提问 私信TA
展开全部

取某一字段不重复记录可用distinct或者group by来实现。

如,emp表中有如下数据:

要求取出deptno字段所有的不重复记录,可分别用以下两个语句:

1、

select distinct deptno from emp;

2、

select deptno from emp group by deptno;

结果如下:

flyingFish211
2011-03-04 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
select *
from tab t1
where not exists(select 1 from tab where userid = t1.userid and content < t1.content)

想要第一个就<,想用第二个就>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
湛蓝水晶
2011-03-05 · 知道合伙人数码行家
湛蓝水晶
知道合伙人数码行家
采纳数:1388 获赞数:9352
毕业北京科技大学数学与应用数学专业,学士学位,IT行业6年从业经验。现任公司项目经理。

向TA提问 私信TA
展开全部
select * from table t1 where exists (
select 1 from (
select t2.rowid, t2.userid, row_number() over ( partition by rd.reportno,rd.rowsubject order by content ) RN
from table t2
) temp where t1.rowid = t2.rowid and temp.RN > 1
);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ab993db
2011-03-04 · TA获得超过257个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:161万
展开全部
select distinct 字段名,字段名 from tablename
更多追问追答
追问
这样写不对的,冗余记录太多
追答
一个字段就写一个字段不就可以了吗?有什么呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sha_zi111
2011-03-04 · 超过20用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:52.1万
展开全部
select userid ,max(content) from 表 group by userid
追问
还有没有别的方法呢?我可不可以用select * from 表名之类的实现?表中的字段很多。谢谢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式