mysql distinct 有重复字段

mysql distinct 有重复字段distinct去除的不是重复字段,而是重复记录,就是去除DISTICT后面所有字段都相同的记录。举例:假设在一个多店版的商城系统里,有一个记录销售记录的表,记录着每个店铺的每一笔销售额。如下:运行下面的查询,然后分别对比结果,我们就不难发现,distinct是去除重复的记录。第一条查询selectdistinctuidfromsale_log;筛选出了有销售额的店主。第二…

distinct去除的不是重复字段,而是重复记录,就是去除DISTICT后面所有字段都相同的记录。

举例:假设在一个多店版的商城系统里,有一个记录销售记录的表,记录着每个店铺的每一笔销售额。如下:
mysql distinct 有重复字段
运行下面的查询,然后分别对比结果,我们就不难发现,distinct是去除重复的记录。
mysql distinct 有重复字段
第一条查询 select distinct uid from sale_log; 筛选出了有销售额的店主。
第二条查询 select distinct uid,store_id from sale_log; 筛选出了有销售额的店主的不同店铺。可以很明显的看出,此条查询返回的结果是过滤掉了 uid 和 store_id 都一样的记录,而不是我以前想当然的认为,只要有 distinct 关键字修饰的字段,都不会出现重复值。
最后,再次强调,distinct 是作用于整条查询,而不是作用于紧跟其后的字段。
如果想只去除重复字段,可以用GROUP BY

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37057.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注