1

以下のクエリに相当する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
4

1 に答える 1

2

単一のクエリでこれを行うことはできませんが、一時テーブルとすべてのテーブルの rowid プロパティを使用できます。

http://sqlfiddle.com/#!5/f0a1b/8 (フィドルを 2 回実行することはできません。再度実行する前に、常に最初にスキーマを再構築する必要があります)

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;
于 2012-06-23T11:12:09.903 に答える