mysql中去重函数_mysql之常用函数海棠

更新时间:2023-07-11 19:11:03 阅读: 评论:0

mysql中去重函数_mysql之常⽤函数海棠
去重
呛蟹
在项⽬开发中我们常常需要针对某个或多个字段进⾏去重,⽽distinct是mysql中去重最常⽤的⽅法,但是他也有⾃⼰的局限性。使⽤distinct时,去重字段必须放在distinct后⾯,但distinct后可以跟多个字段,表⽰通过多字段联合去重;distinct左边不能有字段,否则会报错。并且去重的结果只显⽰去重的字段,所以我们⼀般是⽤distinct来统计去重后的数量。如果即要去重⼜要显⽰我们想要的字段就需要⽤group by了,也可以使⽤group_concat.
distinct
根据某个字段去重
⽰例:SELECT DISTINCT product_code FROM `insf_athena_loan_info`
出现如下结果:
统计去重后的数量
⽰例:SELECT COUNT(DISTINCT product_code) FROM `insf_athena_loan_info`
出现如下结果:
去重后显⽰⾮去重字段
⽰例:SELECT loan_order_id, name,COUNT(DISTINCT product_code) FROM `insf_athena_loan_info`
出现如下结果:
注意:此时你会发现并没有我们想要出现多⾏数据,⽽是显⽰⼀⾏,要是显⽰多⾏急需要⽤到group by了
老师不在的时候
group by
根据某字段去重
⽰例:SELECT  name FROM `insf_athena_loan_info` GROUP BY name
出现以下结果:
注意:我们再使⽤group by时结果集中我们可以显⽰任意我们想显⽰的字段,当然group by后⾯可以跟多个字段
根据某字段去重后统计计数
⽰例:SELECT  name,card_no,count(*) FROM `insf_athena_loan_info` GROUP BY name
出现结果:
林林总总什么意思
注意:很显然并没有出现我们想要的结果,没有出现去重后的数据条数,⽽是统计的是每条数据重复的次数
拼接函数
concat
这个函数⽐较简单就是将多个字段拼成⼀个字符串,但是拼接后的结果就是⼀个字符串,中间没有任何字符,如果我们想要不同字段只间⽤逗号隔开,那么我们就要逗号也拼进去,也就是说如果我们有N个字段要拼接,那么我们就要些N-1个',',很显然这是异常⿇烦的,解决办法我们可以⽤concat_ws函数十一朵玫瑰代表什么意思
concat_ws
concat_ws函数是concat特殊情况,主要作⽤是,我们在拼接将多个字段时,如果我们想要他们⽤逗号隔开,我们只需要指定⼀次就⾏了,不⽤在每两个字段之间都把','写⼀遍。
⽰例:lect MAX(id),MIN(id),CONCAT_WS("&",id,name,card_no),count(*) FROM `insf_athena_loan_info` GROUP BY name
笔直反义词出现以下结果:
注意:⼤家可以看到concat_ws只是将⼀条数据的三个字段拼接到了⼀起,但是如果想将所有重复的字符都拼接到⼀起改怎么做呢,这个时候就⽤到group_concat函数了
group_concat
穷成语将多个字段拼接到⼀起
⽰例:SELECT  GROUP_CONCAT(id ,name ORDER BY id desc parator '_' ),card_no,count(*) FROM
`insf_athena_loan_info` GROUP BY name
出现的结果:
注意:这⾥再拼字段的时候,就把所有重复数据的这⼆个字段都拼到了⼀起,并且我们按照id字段进⾏了排序,需要强调的是,如果把order  by id 放到name字段之前,id字段之后,会发现name字段不会被拼装。另外,我们也注意到那么和id字段之间没有任何链接符,如果我们需要再他们之间也加链接符的话,需要结合concat_ws来实现
改变后的sql如下:SELECT  GROUP_CONCAT(CONCAT_WS('&',id,name) ORDER BY id desc parator '_' ),card_no,count(*) FROM `insf_athena_loan_info` GROUP BY name
协议书模板>腰背肌锻炼方法

本文发布于:2023-07-11 19:11:03,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1077411.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字段   出现   想要
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图