我有一张桌子
Country | Capital
----------------------
France | Paris
Germany | Berlin
USA | Washington
Russia | Moscow.
Run Code Online (Sandbox Code Playgroud)
我需要选择除第一行之外的所有行.表没有主键.我该怎么办?
SELECT *
FROM (
SELECT country, capitol, rownum as rn
FROM your_table
ORDER BY country
)
WHERE rn > 1
Run Code Online (Sandbox Code Playgroud)
如果未按国家/地区排序定义"第一个",则需要ORDER BY在内部查询中应用不同的内容.
编辑
为了完整起见,ANSI SQL解决方案将是:
SELECT *
FROM (
SELECT country,
capitol,
row_number() over (order by country) as rn
FROM your_table
)
WHERE rn > 1
Run Code Online (Sandbox Code Playgroud)
这是一种适用于几乎所有主要DBMS的便携式解决方案