Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 20.06.2021
Сообщений: 2

Последовательное сравнение значений в столбце

20.06.2021, 13:14. Показов 1592. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Задача следующего рода:
Есть тиковый массив валюты за несколько лет (год ~ 40-45 млн строк, 2 столбца - время до долей и цена до 6 знака после запятой), вот такой:
ВремяЗначение
7:45:431,202580
7:45:431,202610
7:45:431,202600
7:45:43 
7:45:431,202630
7:45:431,202620
7:45:431,202630
7:45:431,202770
7:45:43 
7:45:441,202640
7:45:44 
7:45:451,202620
7:45:451,202610
7:45:451,202720
7:45:451,202610
7:45:451,202600
7:45:451,202890
Хотел сделать таблицу изменений до 4 знака после запятой и дополнительным столбцом на сколько пунктов изменение, при этом чтобы отсутствовало задвоение значения цены и нулевое изменение, например:
ЦеныИзменение
1,20261
1,2025-1
1,2023-2
1,20263
1,20304
С моим дилетантским опытом до round и исключения пустых строк я допер (trogg not stupid), но вот как в SQL сравнивать построчно значения и если оно повторяется до 4 знака его не выводить - нет. Distinct в данном случае не применим, так как значение цены со временем повторяется.

Буду рад предложениям, как это можно решить, ну или если в рамках selectа такое невозможно, подскажите на каком другом языке легче такое можно реализовать с учетом объемов, заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.06.2021, 13:14
Ответы с готовыми решениями:

Сравнение значений в одном столбце VBA
Уважаемые форумчане. Столкнулся с проблемой, что не могу написать в макросе, сравнение текстовых значений в ячейках Excel в одном столбце. ...

Последовательное сравнение
Народ, помогите с решением такой задачки. У меня есть 10 чисел в диапазоне от 1000 до 6000 (по возрастанию), которые перед операцией я...

Поиск строк с одинаковыми значениями в столбце A и сложение их значений в столбце B
Добрый день! Задача такая, необходимо в Таблице 1 на листе 1 находить одинаковые наименования и создать таблицу 2 на листе 2 без...

3
5966 / 4542 / 1094
Регистрация: 29.08.2013
Сообщений: 28,151
Записей в блоге: 3
20.06.2021, 13:24
не очень понятна итоговая таблица - там номер изменившегося символа в следующей строке?

тогда lag\lead и с помощью case сравниваешь 4 варианта
SQL
1
2
CASE WHEN CONVERT(VARCHAR(6),'1,202580')=CONVERT(VARCHAR(6),'1,202610') THEN 0 --равны
        WHEN CONVERT(VARCHAR(5),'1,202580')=CONVERT(VARCHAR(5),'1,202610') THEN 6 --не равен последний символ
и тд
1
0 / 0 / 0
Регистрация: 20.06.2021
Сообщений: 2
20.06.2021, 16:46  [ТС]
Цитата Сообщение от qwertehok Посмотреть сообщение
не очень понятна итоговая таблица - там номер изменившегося символа в следующей строке?
Извините, если не совсем точно описал, в итоговой таблице:
В первом столбце (Цены) сглаженные и сгруппированные в рамках последовательного периода цены до четвертого знака после запятой, как указано во вложенной картинке. (выделил цветами для наглядности, что должно произойти)

Поэтому в коде описывать все сравнения нет возможности, так как ценовых записей миллионы.
Во 2 столбце (Изменение) заложена формула = (нынешняя цена - предыдущая цена)*10000, те. (1,2025-1,2026)*10000=-1 и так далее.

Судя по описанию lag\lead может что-то и выйдет, но я не так давно sql начал копать, отпишусь позднее если не смогу реализовать.
Спасибо!
0
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
22.06.2021, 14:40
7:45:43 1,202630
7:45:43 1,202620
7:45:43 1,202630
7:45:43 1,202770

А как sql поймет где предыдущая запись, где последующая в группе с одним временем, да еще даты нет, т.е. с временем 7:45:43 записей много с учетом того, что их вообще десятки миллионов? Нужно еще поле однозначно идентифицирующее запись. И еще поле по которому можно отсортировать таблицу, в качестве такого можно использовать и идентификатор если он создан с учетом этого. А так ни как
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.06.2021, 14:40
Помогаю со студенческими работами здесь

Как объединить ячейки во втором столбце при совпадении значений в первом столбце
Здравствуйте. Помогите плиз. В таблице есть повторяющиеся значения в первом столбце (код товара) и разные значения во втором...

Осуществить протягивание значений в одном столбце до строки последней заполненной ячейки в другом столбце
Доброго времени суток! Нужна помощь... Есть такая не тривиальная задача которую я даже не представляю как решить.. есть два...

Табулирование функции на интервале[A,B] с шагом H.Последовательное сравнение.Отыскать наименьшее и наибольшее значение
Помогите пожалуйста ,Нужно срочно!!!Написать программу!Заранее спасибо! Тип задачи:Отыскание наименьшего и наибольшего значения функции...

Последовательное суммирование значений в диапазоне
Доброго времени суток! Ежедневно выгружаю с полсотни заказов из некоего общего списка в отдельный файл с последующей их нарезкой на...

Последовательное чтение значений из списка в словарь
Здраствуйте. Есть готовый список, который содержит слова в определенной последовательности: list = Требуется подсчитать частоту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru