【问题标题】:Corresponding Sqlite query syntax for Mysql queryMysql查询对应的Sqlite查询语法
【发布时间】:2012-06-23 08:53:27
【问题描述】:

请帮助我找到与以下查询等效的 sqlite。尝试搜索了很多。

    SET @rownum := 0;
SELECT * FROM (
SELECT @rownum := @rownum+1 AS rank, id
FROM tbl_flight
ORDER BY id DESC
) AS tbl_flight WHERE id = 2

【问题讨论】:

  • 请在您的问题中说明您正在尝试做什么(您的查询应该返回什么),以便有类似问题的人将来可以找到这个问题。 (也可以帮助熟悉sqlite但不熟悉mysql的人给你解答。)

标签: android mysql sqlite


【解决方案1】:

您不能在单个查询中执行此操作,但您可以使用临时表和每个表的 rowid 属性:

http://sqlfiddle.com/#!5/f0a1b/8(你不能运行两次小提琴,你必须先重建架构,然后再运行它)

DROP TABLE IF EXISTS tmp;

CREATE TEMPORARY TABLE tmp AS 
  SELECT id
  FROM tbl_flight
  ORDER BY id DESC;

SELECT tmp.rowid AS rank, tmp.id FROM tmp WHERE id=2;

【讨论】:

  • 有趣的是,如果你切换到 SQLite (WebSQL) 并在那个环境中运行你的代码,你不会得到那个 I/O 错误:sqlfiddle.com/#!7/f0a1b/2SQL.js 一定很奇怪跨度>
  • 另外这个版本好像没有这个问题:sqlfiddle.com/#!5/f0a1b/10
猜你喜欢
  • 2021-09-22
  • 2021-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-17
  • 2017-10-22
  • 1970-01-01
相关资源
最近更新 更多