oracle按照查询的所有字段group by 之后可不可以按照其中的一个字段排序啊!不可以的话要怎么做!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle按照查询的所有字段group by 之后可不可以按照其中的一个字段排序啊!不可以的话要怎么做!相关的知识,希望对你有一定的参考价值。

可以
select count(1),A,B from X group by A,B order by A这么写都可以的
参考技术A select a,b from (select a,sum(b) b from tab group by a) order by a;追问

我有几个表连起来查询的,还有这里为什么要SUM(B)呢!如果sum的话查询出来就有问题了,比如我的编号是01010001 查出来就是1010001了~

追答

这只是个例子,因为你也没有明确说明具体查什么

oracle中group by 和order by 同时用

A表中字段id和name
我想group by name然后排序按照id来牌
select name from A group by name order by id asc
结果报错了,求解

1、首先在oracle子查询中,会经常使用到order by子句。

2、看到如下图默认情况下order by,使用的排序是升序,也就是使用的是order by 字段名asc。

3、如果要使用降序排序要使用order by  字段名  desc;方法。

4、在查询语句中order by 子句必须放在条件语句的最后,不然会报如下错误。

5、最后在对空值进行排序的时候,升序空值显示在最后,降序空值显示在最前面。

参考技术A 同时用group by 和 order by 是不可能得到你要的结果。因为order by 后面的字段必须在group by 中有而且group by 后面的字段必须在select中有。建议你不要用group by,用如下语句也能达到你要的结果:select name,id from A order by name,id 参考技术B oracle中group by 和order by 同时用
select name from A group by name ,id order by id asc order by 的栏位必须在groupby 中有
参考技术C Select name,Count(*) From a Group By id,name Order By id; 使用group by要使用聚合函数才行 参考技术D select name, min(id) id from A group by name order by id asc;

以上是关于oracle按照查询的所有字段group by 之后可不可以按照其中的一个字段排序啊!不可以的话要怎么做!的主要内容,如果未能解决你的问题,请参考以下文章

如何使用group by 分组查询表中所有字段信息

在ORACLE中GROUP BY 中包含了汇总的字段会出现啥情况?

oracle中group by 和order by 同时用

mysql 可以group by 两个字段吗

MySQL对数据表进行分组查询(GROUP BY)

oracle group by 查询 排序