distinct,消除重复用不了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了distinct,消除重复用不了相关的知识,希望对你有一定的参考价值。

我写得语句是select DISTINCT xybh,sfdy,DYCDYRY,DYCDYSJ,DYSJ,dyrid from XYGL_PXJLDY where XYBH ='38039727'

但是还是七条,如何能让xybh为38039727的只显示一条?

select DISTINCT xybh,sfdy,DYCDYRY,DYCDYSJ,DYSJ,dyrid from XYGL_PXJLDY where XYBH ='38039727'
不可能的,因为你的sfdy,DYCDYRY,DYCDYSJ,DYSJ,dyrid from XYGL_PXJLDY列中有不同的数据。
想显示一列;
select DISTINCT xybh from XYGL_PXJLDY where XYBH ='38039727'
参考技术A 并不是sql语句错了, 而是如果你的列多了, 你单独只写一个列就不会出现重复数据了select distinct xybh from xygl_pxjldy 参考技术B select * from
(select dense_rank() over(partition by xybh order by dysj asc) num, XYGL_PXJLDY.*
from XYGL_PXJLDY ) m
where m.num=1;
大概就是这样,如有问题自己稍微调整下就好了。
参考技术C DISTINCT 会让所有的字段去重,但是的重复的只有xybh,sfdy两个字段
后面的都各有不同,如果你要后面的都显示也至少要显示两条
一个标准用户,一个张林的
参考技术D 显示dysj最大的那条记录,同样适用于多个不同的xybh

select * from XYGL_PXJLDY a
where not exists(select 1 from XYGL_PXJLDY where xybh = a.xybh and dysj > a.dysj)本回答被提问者采纳

SqlSever基础 distinct 显示时消除重复行

镇场诗:
———大梦谁觉,水月中建博客。百千磨难,才知世事无常。
———今持佛语,技术无量愿学。愿尽所学,铸一良心博客。
——————————————————————————————————————————

 

1 code

 1 //创建一个数据库
 2 create database helloworld1
 3 
 4 //用helloworld1这个数据库
 5 use helloworld1
 6 
 7 //创建一个表格teacher
 8 create table Teacher
 9 (
10    Id int primary key identity(1,1),   
11    Name nvarchar(10),
12    Class nchar(2)
13 )
14 
15 //看看 teacher这个表格有啥
16 select * from Teacher
17 
18 //向这个表格中插入这几行内容
19 insert into Teacher
20        values(女娲娘娘,道家),
21              (元始天尊,道家),
22              (释迦摩尼佛,佛家),
23              (耶稣,基督),
24              (绿度母,佛家),
25              (九天应元雷声普化天尊,道家),
26              (无盐娘娘,道家),
27              (王母娘娘,道家)
28 
29 //查看没有重复的Class列,但是不改变原表格中内容
30 select distinct Class from Teacher

 

 

 

 

2 show

技术分享

 

 

 

——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。
SqlSever是优秀的语言,值得努力学习。熟悉数据库的增删查改,写程序必备。
如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取铸成一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。








以上是关于distinct,消除重复用不了的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE中的distinct消除重复行,我用where链接了多个表 查询了多个字段

sql 取不重复的值,Distinct只能取一个字段满足不了要求

SQL 语言DISTINCT怎么用?

group by与distinct有何区别

如何根据另一个变量的值使用 dplyr::Distinct

SQL语句查询某字段不同数据的个数(DISTINCT 的使用)