ITPub博客

首页 > 数据库 > Oracle > 实测DISTINCT和GROUP BY的区别

实测DISTINCT和GROUP BY的区别

Oracle 作者:wei006006 时间:2014-03-11 17:28:00 0 删除 编辑

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

CREATE VIEW `test_tags` AS 

SELECT DISTINCT `tag`

FROM `tags`

WHERE `status` > '0';

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

如果是这样:

CREATE VIEW `test_tags` AS 

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

FROM `tags`

WHERE `status` > '0';

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

CREATE VIEW `test_tags` AS 

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

FROM `tags`

WHERE `status` > '0'

GROUP BY `tag`;

这样就不会重复了!!!

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23909212/viewspace-1109293/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-05-14