关于distinct 的疑问?
假如有这么一张表users,表中有id, username, salary三个字段,那么使用语句:select distinct username from users。只会显示不重复字段username的记录。那么问题来了,如果我想要显示所有的字段记录,并且过滤掉字段username中重复的记录,这时可以使用以下语句:select distinct username, id, salary from users; 那么,问题又来了,上面这语句有几个问题:
1、select distinct username 格式是固定死的,不能写成select id, distinct username;这就打乱了表中字段输出的顺序。
2、此语句需要列出所有字段,如果表中有几十个,几百个字段,也需要全部列出来么?
在mysql中可以用group by来进行分组,过滤掉指定字段的重复记录,并输出分组后的全部字段记录。语句可以这么写:
select * from users group by username.
在oracle中要达到同样的效果,该怎么办,求大神指导!!