很菜的问题(过滤视图中重复的记录)

internetcsdn 2003-10-09 12:27:21
因为建视图的不合理,
导致出现重复的记录。
如:
name sex
小明 男
小明 男
如何去掉重复的记录啊?
在线等,解决即给分
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
internetcsdn 2003-10-09
  • 打赏
  • 举报
回复
谢谢两位
pengdali 2003-10-09
  • 打赏
  • 举报
回复
看错:

select distinct * from 你的表
伍子V5 2003-10-09
  • 打赏
  • 举报
回复
使用 DISTINCT 消除重复项
DISTINCT 关键字可从 SELECT 语句的结果中除去重复的行。如果没有指定 DISTINCT,那么将返回所有行,包括重复的行。例如,如果在 titleauthor 中选择所有作者 ID 时未使用 DISTINCT,那么将会返回下列行(其中包括一些重复的行):

USE pubs
SELECT au_id
FROM titleauthor

下面是结果集:

au_id
-----------
172-32-1176
213-46-8915
213-46-8915
238-95-7766
267-41-2394
267-41-2394
274-80-9391
409-56-7008
427-17-2319
472-27-2349
486-29-1786
486-29-1786
648-92-1872
672-71-3249
712-45-1867
722-51-5454
724-80-9391
724-80-9391
756-30-7391
807-91-6654
846-92-7186
899-46-2035
899-46-2035
998-72-3567
998-72-3567

(25 row(s) affected)

而使用了 DISTINCT 后,就能够除去重复项,而只查看唯一的作者 ID:

USE pubs
SELECT DISTINCT au_id
FROM titleauthor

下面是结果集:

au_id
-----------
172-32-1176
213-46-8915
238-95-7766
267-41-2394
274-80-9391
409-56-7008
427-17-2319
472-27-2349
486-29-1786
648-92-1872
672-71-3249
712-45-1867
722-51-5454
724-80-9391
756-30-7391
807-91-6654
846-92-7186
899-46-2035
998-72-3567

(19 row(s) affected)



重要 涉及 DISTINCT 的语句的输出取决于列的排序规则或应用 DISTINCT 的表达式。有关不同排序规则的效果的更多信息,请参见 SQL Server 排序规则基础知识。


对于 DISTINCT 关键字来说,各空值将被认为是相互重复的内容。当 SELECT 语句中包括 DISTINCT 时,不论遇到多少个空值,在结果中只返回一个 NULL。



说明 为了与 SQL-92 标准和其它的 Microsoft® SQL Server™ 版本兼容,ALL 关键字可以显式请求所有行。但是,由于 ALL 是默认的,所以无需指定它。

pengdali 2003-10-09
  • 打赏
  • 举报
回复
select distinct * into #temp from 表
truncate table 表
insert 表 select * from #temp
drop table #temp

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧