distinct,消除重复用不了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了distinct,消除重复用不了相关的知识,希望对你有一定的参考价值。
我写得语句是select DISTINCT xybh,sfdy,DYCDYRY,DYCDYSJ,DYSJ,dyrid from XYGL_PXJLDY where XYBH ='38039727'
但是还是七条,如何能让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链接了多个表 查询了多个字段