用SQL语句如何求出一列最大的10个值

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:27:40
刚刚学习Oracle,
想问一下用SQL语句如何求出一列最大的10个值?
例如我要求出10种最贵的商品……

谢谢

select * from
(select * from [表名] order by [单价] desc)
where row_num < 11

顶4楼,分析的很对,2、3楼的说法的确是sqlserver的写法。
附例子:
在ORACLE中实现SELECT TOP N

由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询。

简单地说,实现方法如下所示:

SELECT 列名1...列名n FROM

(SELECT 列名1...列名n FROM 表名 ORDER BY 列名1...列名n)

WHERE ROWNUM <= N(抽出记录数)

ORDER BY ROWNUM ASC

下面举个例子简单说明一下。

顾客表customer(id,name)有如下数据:

ID NAME

01 first

02 Second

03 third

04 forth

05 fifth

06 sixth

07 seventh

08 eighth

09 ninth

10 tenth

11 last

则按NAME的字母顺抽出前三个顾客的SQL语句如下所示:

SELECT * FROM

(SELECT * FROM CUSTOMER ORDER BY NAME)

WHERE ROWNUM <= 3

ORDER BY ROW