SQLite запрос для вычисления номера строки без row_number и т. Д.Android

Форум для тех, кто программирует под Android
Anonymous
SQLite запрос для вычисления номера строки без row_number и т. Д.

Сообщение Anonymous »

У меня есть таблица строковых значений, где порядок естественной сортировки сначала по длине, а затем по значению.

Код: Выделить всё

CREATE TABLE t(v VARCHAR(255));

INSERT INTO t(v) VALUES ('100'), ('10'), ('8'), ('5'), ('3'), ('1');

SELECT v FROM t ORDER BY LENGTH(v) DESC, v DESC;
Дает правильный результат:

Код: Выделить всё

100
10
8
5
3
1
Учитывая такой порядок, мне нужен номер строки для каждой строки, но я работаю в среде (Android) с версией SQLite, которая не поддерживает ROW_NUMBER или другое окно функции.
Можно ли это сделать с помощью простого SQL?
Предложения типа:

Код: Выделить всё

SELECT t1.v,
(SELECT COUNT(*) FROM t t2 WHERE LENGTH(t1.v) 
  SELECT t1.v, COUNT(t2.v) - 1 AS rownum
FROM t t1
JOIN t t2 ON LENGTH(t1.v) 

Подробнее здесь: [url]https://stackoverflow.com/questions/79385738/sqlite-query-to-compute-row-number-without-row-number-etc[/url]

Вернуться в «Android»