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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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