SELECT max(id) FROM Comics
我得到:
|id| | 1| | 2| | 3| | 6| | 7|
我可以用这个查询获得我的表中的最高“ID”:
|id| | 7|
如何才能得到最高“ID”(即使值不连续)之前的“ID”?
SELECT max(id) FROM Comics
我得到:
|id| | 1| | 2| | 3| | 6| | 7|
我可以用这个查询获得我的表中的最高“ID”:
|id| | 7|
如何才能得到最高“ID”(即使值不连续)之前的“ID”?
SELECT max(id) FROM Comics
相同
SELECT TOP 1 id FROM Comics ORDER BY ID DESC
注:这是事务SQL语法,使用ROWNUM或限制取决于您的供应商
得到第2行,你可以做
SELECT TOP 1 ID
FROM
(SELECT TOP 2 id
FROM Comics
ORDER BY ID DESC)
ORDER BY ID ASC
我不知道你可以在SQL里面有这样的SQL,谢谢。 – 2010-02-13 00:34:47
@Joseph这种技术被称为派生表或内联视图。 – 2010-02-13 00:35:49
如果您使用mysql或postgre查询更简单,只需使用最新功能 – 2010-02-13 00:38:34
一般而言,您可以先找到最大的id(您已经完成),然后找到最大编号为的小于(<
)的最大编号。
具体来说,
select max(id) from Comics where id < 7
或者,你可以命令按降序排列结果:
select id from Comics order by id desc
,然后看看秒返回行。
或按降序排序,使用'OFFSET'跳到第二行,'LIMIT'返回1. – 2010-02-13 00:32:35
这样做也可以。
SELECT
max(id)
FROM
Comics
WHERE id < (SELECT max(id) FROM Comics)
ORDER BY ID DESC并拿起你的程序中的第二个。顺便说一句,你的数据库是什么? – ziya 2010-02-13 00:27:22