0
点赞
收藏
分享

微信扫一扫

mysql distinct 有重复字段

龙毓七七 2022-07-12 阅读 28


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

举例:假设在一个多店版的商城系统里,有一个记录销售记录的表,记录着每个店铺的每一笔销售额。如下:

mysql distinct 有重复字段_字段


运行下面的查询,然后分别对比结果,我们就不难发现,distinct是去除重复的记录。

mysql distinct 有重复字段_mysql_02


第一条查询 select distinct uid from sale_log; 筛选出了有销售额的店主。

第二条查询 select distinct uid,store_id from sale_log; 筛选出了有销售额的店主的不同店铺。可以很明显的看出,此条查询返回的结果是过滤掉了 uid 和 store_id 都一样的记录,而不是我以前想当然的认为,只要有 distinct 关键字修饰的字段,都不会出现重复值。

最后,再次强调,distinct 是作用于整条查询,而不是作用于紧跟其后的字段。

如果想只去除重复字段,可以用​​GROUP BY​​ 。


举报

相关推荐

0 条评论