2

以下函数位于 javascript 文件中。目的是返回 sqlite 数据库的 rowid 列中的最大值。目前,它仅在运行“从表查询中选择 *”后才有效。为什么是这样?

function lastRecord(){  
db.transaction(function (tx) {
      tx.executeSql('SELECT MAX(rowid) as mr FROM Surveys', [], function(tx, results){
  var maxRowid = results.rows.item(0).mr;
  alert(maxRowid);
});
});
} 

我希望澄清每次调用函数时需要加载什么才能让 SELECT MAX(rowid) 显示正确的 MAX rowid 值。实现 MAX 功能的标准格式(结构)是什么?谢谢。

4

3 回答 3

1

您是否尝试过使用 order by 和 limit?就像是

Select rowid as mr from surveys order by rowid desc limit 1

可能对你更好。

于 2013-08-12T22:41:09.290 回答
1

如果您想要某个范围内的最大行 ID,您可以执行以下操作:

SELECT MAX(rid) as mr FROM (
  SELECT rowid as rid FROM surveys ORDER BY rowid LIMIT 10000 OFFSET 0
)

这个怎么运作

  • 内部(带括号的)SELECT获取特定范围的行 ID。(OFFSET限制的 表示从哪一行开始,表中的第一行是第 0 行。把它想象成从一开始就跳过多少行。)
  • 外部SELECT, SELECT MAX(rid), 获取该范围内的最大值。
于 2018-08-21T09:07:51.430 回答
0

知道了。问题与 HTML 相关:不是 SQL 问题。

于 2013-08-21T05:23:03.907 回答