我有一个关于几家公司的数据库,其中包括它们的名称、股价、年龄变化百分比:
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 行 %age,这意味着它有最大 %age 显示在顶部...n 前面是 jst 4 more value in desc。订单...
输出应该是
NAME PRICE % CHANGE
-------------------------------------------------
d 112 23.98
e 31 17
g 2678 12.56
a 67 11
b 23 6
最佳答案
使用 MySQL/Postgres:
SELECT t.name,
t.price,
t.change
FROM TABLE t
ORDER BY t.change DESC
LIMIT 5
LIMIT
子句:
使用 SQL 服务器:
SELECT TOP 5
t.name,
t.price,
t.change
FROM TABLE t
ORDER BY t.change DESC
TOP
是 supported on SQL Server 2000+ at least
甲骨文:
SELECT x.*
FROM (SELECT t.name,
t.price,
t.change
FROM TABLE t
ORDER BY t.change DESC) x
WHERE ROWNUM <= 5
甲骨文的 ROWNUM
关于sql - 如何选择n行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1735614/