У меня есть база данных, в которой хранится ранг предмета.Ранг - это абсолютное значение, которое будет правильным, если все элементы будут приняты во внимание.
Если мне нужно только подмножество, скажем, четыре из этих элементов, это даст мне что-то вроде:
Rank RowId in the whole Table
---------------
4 114
8 71
70 16
83 7
Теперь мне нужно, чтобы int определял ранг только в подмножестве, где максимальный ранг - это количество элементов в подмножестве в моем примере 1,2,3,4.
Есть ли способ добиться этого в моем sqlite-запросе?Мне нужен только один из рангов в моей деятельности.Я думал упорядочить результаты запроса по рангу, а затем каким-то образом получить позицию элемента, который я хочу ранжировать в тот момент.Но как мне добиться этого с помощью sqlite?
Я попытался создать временную таблицу и вставить в нее подмножество следующим образом:
CREATE TABLE rank (ID);ВСТАВИТЬ В Положение ВЫБРАТЬ ИД из элементов, ГДЕ ITEM_ID = 3 ЗАКАЗАТЬ ПОЗИЦИЮ;ВЫБЕРИТЕ RowID из ранга WHERE ID = 9;DROP TABLE rank;
Это работает в SQLite Manager и возвращает правильное число.Но если я сделаю это в Android, произойдет сбой, сказав, что при компиляции запроса нет ранга таблицы
07-07 13:35:46.150: ERROR/AndroidRuntime(2047): Caused by: android.database.sqlite.SQLiteException: no such table: rank: , while compiling: SELECT RowID from rank WHERE ID = 9