首 页 行业资讯 新车 试驾评测 养车用车 车型库

oracle SQL用select过程进行分组排序查询

发布网友 发布时间:2022-04-22 04:43

我来回答

4个回答

热心网友 时间:2022-04-10 07:58

select row_number() over (partition by 类别 order by 金额 desc) 名次, 类别,商品,金额 from 表名

热心网友 时间:2022-04-10 09:16

你的问题里边列出的结果和需求的描述不一致啊,很明显你列出的结果里分组的最小单位是  商品不是  类别,我就按你列出的结果写sql吧,很简单的。你测测吧。

select * from (
select  rank() over (partition by category order by category,sum(price) desc,goodsno) as 名次,
category as 类别,goodsno as 商品,SUM(price) as 金额
from TestCate
group by category,goodsno
)tt where  tt.名次<=20

热心网友 时间:2022-04-10 10:50

实现思路:通过select进行查询,通过group by进行分组后,之后通过order by进行排序。
sql:select username from tablename order by username desc group by username;
以上就是通过username字段降序排序(升序是ASC、降序是DESC)。

热心网友 时间:2022-04-10 12:42

select table2.row_num,类别,商品,金额
from
(select 类别,sum(金额)
from t
group by 类别) table1,
(select rownum row_num,类别,商品,金额
from t
group by 类别,商品,金额
having rownum < 21
order by 金额) table2
where table1.类别=table2.类别
order by table1.类别,table2.金额

只是个意思,没调试,可能order by 金额这句执行过不去。
还要加一些表名的指定。

也只是表明个思路意思,继续努力哈。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com