powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Пересчет позиций
7 сообщений из 7, страница 1 из 1
Пересчет позиций
    #38486629
artygrand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите нормализовать позиции страниц с разрывами и повторами, при этом сохранив порядок id

id position id position1011015252434316превратить в14262537367977

Пример теста и нифига не работающая формула
http://sqlfiddle.com/#!7/51cf2/1

row_number() так не хватает... И голова уже не варит.
...
Рейтинг: 0 / 0
Пересчет позиций
    #38486831
Ну, у тебя изначально запрос некорректные данные выдает. Расчет row_num-а происходит неправильно.
Попробуй начать с такого:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT *,
       (SELECT COUNT(*)
        FROM temp AS t2
        WHERE t2.position  <  t1.position 
              or
              t2.position = t1.position
          and t2.id <= t1.id) AS row_Num
FROM temp AS t1 order by position;

on-line проверка на sqlfiddle.com
...
Рейтинг: 0 / 0
Пересчет позиций
    #38486842
Возможно, что окончательное решение должно выглядеть как-то так ...
...
Рейтинг: 0 / 0
Пересчет позиций
    #38487161
artygrand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое, Добрый Э - Эх, выручил.

Только я через http://sqlfiddle.com/#!7/51cf2/24]create temp table , наверно, буду делать.
...
Рейтинг: 0 / 0
Пересчет позиций
    #38487503
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как идея - можно сделать свою агрегативную функцию.
...
Рейтинг: 0 / 0
Пересчет позиций
    #38487516
artygrand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dmitry Arefiev, это будет быстрее/меньше ресурсов поест/будет на всех серверах работать?
...
Рейтинг: 0 / 0
Пересчет позиций
    #38489592
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
artygrandэто будет быстрее/меньше ресурсов поест/будет на всех серверах работать?
Мы говорим про SQLite. В случае SQLite это может быть наиболее эффективным решением,
но займет время. Но займет один раз, потом эта "либа" может быть повторно использованна
во всех местах всех SQLite приложений.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Пересчет позиций
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]