distinct的意思是唯一,是用来去除重复的查询的结果的一个关键字;不同的使用情况有不同的效果哦
基本的用法:select distinct num(区别的字段) from table; 这里的distinct查询出来的内容是,按num是否唯一来查询结果,如果num是一样的两个查询结果,那么结果显示其中的一条;如下图所示:
查询前:
[img]http://dl2.iteye.com/upload/attachment/0123/1587/ab94c8e4-23f5-36f6-9de4-deb18c5e5ae9.png[/img]
查询后:
[img]http://dl2.iteye.com/upload/attachment/0123/1589/b7a0e480-060a-3488-96f4-cdd989c6c36c.png[/img]
如果查询语句中,添加两个字段都用distinct来修饰,这个就得用数学里面的集合来解释了,意思是,两个字段都是一样的查询结果,结果显示一条!(同理,如果distinct同时修饰多个字段,类似的原理)如下图所示:
查询前:
[img]http://dl2.iteye.com/upload/attachment/0123/1587/ab94c8e4-23f5-36f6-9de4-deb18c5e5ae9.png[/img]
查询后:
[img]http://dl2.iteye.com/upload/attachment/0123/1591/ade58165-d931-36a6-b491-52dec324cbcd.png[/img]
可见,当执行distinct修饰num以及name两个字段后,3,4,5,6行数据中的num与name是等值的,3行以及4行取其中的一个,5,6行去其中的一个,最终4行结果集!
基本的用法:select distinct num(区别的字段) from table; 这里的distinct查询出来的内容是,按num是否唯一来查询结果,如果num是一样的两个查询结果,那么结果显示其中的一条;如下图所示:
查询前:
[img]http://dl2.iteye.com/upload/attachment/0123/1587/ab94c8e4-23f5-36f6-9de4-deb18c5e5ae9.png[/img]
查询后:
[img]http://dl2.iteye.com/upload/attachment/0123/1589/b7a0e480-060a-3488-96f4-cdd989c6c36c.png[/img]
如果查询语句中,添加两个字段都用distinct来修饰,这个就得用数学里面的集合来解释了,意思是,两个字段都是一样的查询结果,结果显示一条!(同理,如果distinct同时修饰多个字段,类似的原理)如下图所示:
查询前:
[img]http://dl2.iteye.com/upload/attachment/0123/1587/ab94c8e4-23f5-36f6-9de4-deb18c5e5ae9.png[/img]
查询后:
[img]http://dl2.iteye.com/upload/attachment/0123/1591/ade58165-d931-36a6-b491-52dec324cbcd.png[/img]
可见,当执行distinct修饰num以及name两个字段后,3,4,5,6行数据中的num与name是等值的,3行以及4行取其中的一个,5,6行去其中的一个,最终4行结果集!