Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Пересчет позиций / 7 сообщений из 7, страница 1 из 1
02.12.2013, 21:00
    #38486629
artygrand
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересчет позиций
Помогите нормализовать позиции страниц с разрывами и повторами, при этом сохранив порядок id

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

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

row_number() так не хватает... И голова уже не варит.
...
Рейтинг: 0 / 0
03.12.2013, 04:36
    #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
03.12.2013, 05:47
    #38486842
Пересчет позиций
Возможно, что окончательное решение должно выглядеть как-то так ...
...
Рейтинг: 0 / 0
03.12.2013, 12:11
    #38487161
artygrand
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересчет позиций
Спасибо большое, Добрый Э - Эх, выручил.

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


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