早教吧 育儿知识 作业答案 考试题库 百科 知识分享

sql数据库如何选取最小值,第二最小值,第三最小值.编号\x05名称\x05规格\x05价格\x05供货单位1001\x05AAA\x053*1\x051.00\x05A1001\x05AAA\x053*1\x051.10\x05B1001\x05AAA\x053*1\x051.30\x05C1001\x05AAA\x053*1\x051.50\x05D100

题目详情
sql 数据库如何选取最小值,第二最小值,第三最小值.
编号\x05名称\x05规格\x05价格\x05供货单位
1001\x05AAA\x053*1\x051.00 \x05A
1001\x05AAA\x053*1\x051.10 \x05B
1001\x05AAA\x053*1\x051.30 \x05C
1001\x05AAA\x053*1\x051.50 \x05D
1001\x05AAA\x053*1\x051.60 \x05E
1002\x05BBB\x052*2\x052.10 \x05A
1002\x05BBB\x052*2\x052.10 \x05B
1002\x05BBB\x052*2\x051.00 \x05C
1002\x05BBB\x052*2\x052.40 \x05D
1002\x05BBB\x052*2\x053.00 \x05E
要达到的查询结果为:
编号 名称\x05规格 最低价格及供货单位,第二低价格及单位,第三地价格及单位.
▼优质解答
答案和解析
oracle数据的实现为:
select 编号,名称,规格,
max(decode(价格排名,1,价格||'-'||供货单位,null))最低价格及供货单位,
max(decode(价格排名,2,价格||'-'||供货单位,null))2及供货单位
.
from(
select 编号,名称,规格,价格,供货单位,
row_nubmer()over(partition by 编号order by 价格) 价格排名
from 产品表
) a
group by 编号,名称,规格
order by 编号,名称,规格
看了 sql数据库如何选取最小值,...的网友还看了以下: