实测DISTINCT和GROUP BY的区别

 时间:2026-02-16 23:44:18

由于我的tags表里面的tag有重复,现在需要导出来一份,去掉重复的。我试了DISTINCT 和 GROUP BY,发现如果不导出主键id的话,结果是一样的,不会出现重复。如果需要导出主键id的话,那么使用distinct就没有效果了。

CREATE VIEW `test_tags` AS 

SELECT DISTINCT `tag`

FROM `tags`

WHERE `status` > '0';

实测DISTINCT和GROUP BY的区别

如果这样,导出的结果中,我查询一个字段MOOC,发现没有重复。

实测DISTINCT和GROUP BY的区别

如果是这样:

CREATE VIEW `test_tags` AS 

SELECT DISTINCT `tag`,`id` AS `tagid`

FROM `tags`

WHERE `status` > '0';

实测DISTINCT和GROUP BY的区别

结果中就会出现重复的内容了,distinct就没有效果

实测DISTINCT和GROUP BY的区别

CREATE VIEW `test_tags` AS 

SELECT `tag`,`id` AS `tagid`

FROM `tags`

WHERE `status` > '0'

GROUP BY `tag`;

实测DISTINCT和GROUP BY的区别

实测DISTINCT和GROUP BY的区别

这样就不会重复了!!!

说明我们在单独查询某个非主键字段的时候,是一样的效果,如果是连同主键一起查询,那么就还得用group by了!

  • Win10无文件权限删除怎么办?
  • Windows11注册表编辑器删除怎么办
  • win10系统查看文件夹选项变成空白如何修复
  • 如何用cmd快速打开本地服务设置?
  • 超级详细解决idea控制台中文乱码
  • 热门搜索
    莘莘学子的读音是什么 怎么样去皱 怎么开网店详细步骤 手机白屏了怎么修复 上海崇明生活网 生活的点点滴滴 焖烧罐怎么用 如何去除鸡皮肤 如何给视频加字幕 如何还原电脑系统