sql去除重复的项

有个表abc123135246138selectdistinctb,a,cfromtable我是这样写的,但是查询出来的数据得不到abc123135246而是把所有的数据... 有个表
a b c

1 2 3
1 3 5
2 4 6
1 3 8
select distinct b,a,c from table
我是这样写的,但是查询出来的数据得不到
a b c

1 2 3
1 3 5
2 4 6
而是把所有的数据都输出来,我想问问这是怎么回事的?
展开
 我来答
512578845
2013-07-11 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:122
采纳率:100%
帮助的人:124万
展开全部
首先你是要去除,也就是说删除数据,还是只是查询不重复数据,如果是删除重复数据 就不该用select;暂且认为 你是查询数据;
其次,你的意思应该是去除 b 列中重复的数据,但是你没给定 确切的条件,比如,b列出现了重复数据,那你是要保留那一条呢,
再就是你那个查询:select distinct b,a,c from table 的意思是将三列 都重复的去除,只有三列都重复了 才会去除。你这里的数据明显 不存在三个列都重复的数据,所以查询 出来的还是原 表中的数据。
badkano
推荐于2017-12-16 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部
distinct 是三个字段不同时重复
也就是假如有两条1 2 3 ,那么最后只输出一条,可你的原本数据本来就是不完全重复的呀

看你的意思,你是想把a,b重复的只选出一条来吗?

试试这样
select a,b,min(c) from table group by a,b
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-11
展开全部
distinct b,a,c ------是将b a c完全相的记录只取一条,你的数据里根本没有完全相同的记录,所以会全部输出;
你要的数据可以用下面的sql
select * from (select t.*,row_number() over(partition by b order by b) numid
from table t) a where a.numid=1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mdock
2018-03-31 · TA获得超过7962个赞
知道小有建树答主
回答量:20
采纳率:100%
帮助的人:3278
展开全部
  • 假设存在一个主键ID,Name为重复列,下面这句可以查出所有的没有重复的数据:  

  • select * from 表 as a where ID=(select min(ID) from 表 where Name=a.Name) 。

  • 根据上面这句就可以删除所有重复项的数据:                                                    

  • delete from 表 where ID not in(select ID from 表 as a where ID=(select min(ID) from 表 where Name=a.Name))。

性能特点:

  • (1)高性能设计,可充分利用WindowsNT的优势。

  • (2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。

  • (3)强壮的事务处理功能,采用各种方法保证数据的完整性。

  • (4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿阿阿事实上7
2019-01-30
知道答主
回答量:2
采纳率:0%
帮助的人:1180
展开全部
废话不多说直接上答案:
select 【字段名】【字段名】.... from 【表名】t where t.id in (select max(t.id) from 【表名】t group by 【不重复的字段名】)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式