千家信息网

mysql查询语句中distinct有哪些问题

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容主要讲解"mysql查询语句中distinct有哪些问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"mysql查询语句中distinct有哪些问
千家信息网最后更新 2025年01月21日mysql查询语句中distinct有哪些问题

本篇内容主要讲解"mysql查询语句中distinct有哪些问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"mysql查询语句中distinct有哪些问题"吧!

  mysql查询语句中distinct有哪些问题

  原因就是distinct它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。

  也就是distinct只能返回它的目标字段,而无法返回其它字段

  例如:

  SELECTDISTINCTmac,ipfromip+------+------+|mac|ip|+------+------+|abc|678||abc|123||def|456||abc|12|+------+------+

  他还是不会有变换!因为上面的语句产生的作用就是作用了两个字段,也就是必须得mac与ip都相同的才会被排除

  最后没有办法,使用groupby看看!!!!

  查看mysql手册!connt(distinctname)可以配合groupby实现。

  一个count函数实现我要的功能。

  select*,count(distinctmac)fromipgroupbymac;+------+------+---------------------+|mac|ip|count(distinctmac)|+------+------+---------------------+|abc|678|1||def|456|1|+------+------+---------------------+

  基本实现我的想法!

  那如何实现一个表有两个字段mac和ip,如何找出所有的mac相同而ip不同的记录?

  mysql>select*fromip;+-----+-----+|mac|ip|+-----+-----+|abc|123||def|456||ghi|245||abc|678||def|864||abc|123||ghi|245|+-----+-----+7rowsinset(0.00sec)mysql>SELECTDISTINCTa.mac,a.ip->FROMipa,ipb->WHEREa.mac=b.macANDa.ip<>b.ipORDERBYa.mac;+-----+-----+|mac|ip|+-----+-----+|abc|678||abc|123||def|864||def|456|+-----+-----+4rowsinset(0.00sec)

  mysql查询大小写有哪些问题

  mysql查询默认是不区分大小写的如:

  selectfromtable_namewherealike'a'selectfromtable_namewherealike'a'selectfromtable_namewherealike'a'selectfromtable_namewherealike'a'

  效果是一样的。

  要让mysql查询区分大小写,可以:

  selectfromtable_namewherebinaryalike'a'selectfromtable_namewherebinaryalike'a'selectfromtable_namewherebinaryalike'a'selectfromtable_namewherebinaryalike'a'

  也可以在建表时,加以标识

  createtabletable_name(avarchar(20)binary)

到此,相信大家对"mysql查询语句中distinct有哪些问题"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0