我有一个关于几家公司的数据库,其中包括它们的名称,股票价格,年龄变化百分比:
NAME PRICE % CHANGE
-------------------------------------------------
a 67 11
b 23 6
c 456 5.89
d 112 23.98
e 31 17
f 78 3.09
g 2678 12.56
h 357 4.6 我想选择前5行%年龄的智慧,意味着有最大的%年龄将显示在顶部...n前面的jst 4多个值在描述。订单...
输出应为
NAME PRICE % CHANGE
-------------------------------------------------
d 112 23.98
e 31 17
g 2678 12.56
a 67 11
b 23 6 发布于 2009-11-15 05:20:27
使用MySQL/Postgres:
SELECT t.name,
t.price,
t.change
FROM TABLE t
ORDER BY t.change DESC
LIMIT 5LIMIT子句:
使用SQL Server:
SELECT TOP 5
t.name,
t.price,
t.change
FROM TABLE t
ORDER BY t.change DESCTOP为supported on SQL Server 2000+ at least
Oracle:
SELECT x.*
FROM (SELECT t.name,
t.price,
t.change
FROM TABLE t
ORDER BY t.change DESC) x
WHERE ROWNUM <= 5Oracle的ROWNUM
发布于 2009-11-15 05:17:44
除非我误解了什么。这是基本的SQL:
SELECT * FROM table ORDER BY change DESC LIMIT 5;发布于 2009-11-15 05:18:07
这个怎么样?
SELECT * FROM table ORDER BY change DESC LIMIT 5编辑:请注意,change应该是您列为% CHANGE...的列的名称。
https://stackoverflow.com/questions/1735614
复制相似问题