我想要获取最后一行,它是我插入到Oracle 11g Express数据库的表中的。我该怎么做呢?
发布于 2015-05-12 02:11:13
SELECT * FROM (
SELECT * FROM table_name ORDER BY sortable_column DESC
) WHERE ROWNUM = 1;
发布于 2019-09-24 11:42:58
select * from table_name ORDER BY primary_id DESC FETCH FIRST 1 ROWS ONLY;
这是最简单的一个,没有执行子查询
发布于 2014-06-12 20:59:07
根据组合键K(k1,...,kn)上的严格总顺序的最后一行:
SELECT *
FROM TableX AS o
WHERE NOT EXISTS (
SELECT *
FROM TableX AS i
WHERE i.k1 > o.k1
OR (i.k1 = o.k1 AND i.k2 > o.k2)
...
OR (i.k1 = o.k1 AND i.k2 = o.k2 AND i.k3 = o.k3 AND ... AND i.kn > o.kn)
)
;
给定K是简单的(即不是复合的)的特殊情况,上面的缩写为:
SELECT *
FROM TableX AS o
WHERE NOT EXISTS (
SELECT *
FROM TableX AS i
WHERE i.k1 > o.k1
)
;
请注意,要使此查询只返回一行,键必须排序,而不能有关联。如果允许关联,则此查询将返回与最大键关联的所有行。
https://stackoverflow.com/questions/12378424
复制相似问题