Win10\ python 3.12.5\ DB Browser for SQLite\Pycharm
Доброго времени суток програмерам, юзерам, ламерам и иным прямоходящим ровным посонам и леди.
Нужен совет, ибо я в деле написания кода - строго под видос с учителем которому бог дал быть учителем,
а не звездами тиктока так сказать. Кароч ламер я с самой большой заглавной буквы.
Понадобилась мне "table.db" строк так - на пол ляма, может больше может меньше, но думаю пол ляма будет норм.
Колонки - три четыре, не суть - там допилится если чо.
Посмотрел видос(мир знаний с Сергеем Балакиревым) и сваял таблицу в SQLite. Пропедалил кнопачки как учили
и вуаля - работает! В общем тело таблицы в PyCharm я пишу как Бох.....бох с маленьким склерозом, ибо без
видоса чота не пишется.
Во-о-о-от, теперь о сути: "db" нужна для построения графиков.
Эталонный график - строится в реальном времени(т.е. во время заполнения таблицы) на данных, взятых из колонок
со среза строк "row id 0 - row id 150". Для простолюдинов - график надо строить со свежих 150 строк!
Далее - этот график сравнивается со всей ранее(час, день неделю в конце концов назад) заполненой базой
и выводит график, графики с наибольшим соответствием эталонному.
На этом заканчивается лирика и начинают вянуть помидоры.
Ибо померещилось мне что забивать данные в базу будет удобно чтобы новая строка всегда имела "id = 0"
и располагалась первой в таблице, а заполненые сдвигались вниз с "id +1".
Но, исскуственный мосх чятжпт мне сказал что нет таблиц со смещением строки вниз...я не поверил,
и сломал масги ищо трем искуственным мосгам...а мой расплавился.
Я нарыл на просторах во чо -
Перемещение записи вверх или вниз осуществляется путем замены ее на запись до или после, соответственно.
Если значения идентификатора сортировки всегда непрерывны (т. Е. Вы не удаляете записи, которые могли бы
вызвать разрыв), то вы можете просто добавить или вычесть единицу, чтобы получить следующую или
предыдущую запись. Если не гарантируется непрерывность записей, вам нужно найти запись рядом с той,
которую вы хотите переместить.
To find the SortId of the record before: select max(SortId) from TheTable where SortId
< @SortId To find the SortId of the record after: select min(SortId) from TheTable where SortId >
@SortId To swap the two records, you can use this trick that calculates one value from the other:
update TheTable set SortId = @SortId1 + @SortId2 - SortId where SortId in (@SortId1, @SortId2)
Искусный мосх мне ответил - во чо
Перемещение записей вверх или вниз: осуществляется путем обмена записями с предыдущей или последующей записью соответственно.
Сортировка по SortId: предполагается, что значения SortId являются непрерывными, поэтому для поиска следующей или предыдущей записи можно просто прибавить или отнять единицу.
Поиск соседних записей: если значения SortId не являются непрерывными, необходимо найти запись, расположенную рядом с той, которую вы хотите переместить.
Обмен записями: используется хитрость с вычислением одного значения из другого. Это позволяет изменить SortId двух записей одновременно, чтобы поменять их местами.
Применение в вашем коде:
Чтобы добавить функцию сдвига заполненной строки вниз, вам нужно добавить код, который будет делать следующее:
Проверка на заполненность первой строки: проверить, содержит ли первая строка данные.
Сдвиг данных вниз: если первая строка заполнена, необходимо сдвинуть все остальные строки вниз (увеличив SortId на единицу).
Обновление SortId: обновить значение SortId для первой строки до значения SortId последней строки в таблице.
Очистка первой строки: очистить первую строку, чтобы она была готова к заполнению новой строки.
Из его рассуждений я асилил только ,,используется хитрость с вычислением одного значения из другого,,
По моему это даже эпичнее чем - денег нет но вы держитесь.
В итоге - я весь в растерянных соплях как девушка в автомате и матом вас прошу - подскожите путь куда копать.
Думается мне что программное решение всё же есть.
Подкинете код - не верится чота, ибо чюдо!
Если есть мануал или лучше видос на эту тему - подкиньте ссылку хоть.
Возможно я ваще не туда педалю клаву - может есть готовое решение в других прогах.
Возможно - оставить таблицу как есть (новая строка добавляется ниже заполненой) и
копать от старшего "id" к "0" - но чота мне логика не видится как это реализовать...
Пешыте, звоните, шлите деньгами
с уважением elmegel.
Доброго времени суток програмерам, юзерам, ламерам и иным прямоходящим ровным посонам и леди.
Нужен совет, ибо я в деле написания кода - строго под видос с учителем которому бог дал быть учителем,
а не звездами тиктока так сказать. Кароч ламер я с самой большой заглавной буквы.
Понадобилась мне "table.db" строк так - на пол ляма, может больше может меньше, но думаю пол ляма будет норм.
Колонки - три четыре, не суть - там допилится если чо.
Посмотрел видос(мир знаний с Сергеем Балакиревым) и сваял таблицу в SQLite. Пропедалил кнопачки как учили
и вуаля - работает! В общем тело таблицы в PyCharm я пишу как Бох.....бох с маленьким склерозом, ибо без
видоса чота не пишется.
Во-о-о-от, теперь о сути: "db" нужна для построения графиков.
Эталонный график - строится в реальном времени(т.е. во время заполнения таблицы) на данных, взятых из колонок
со среза строк "row id 0 - row id 150". Для простолюдинов - график надо строить со свежих 150 строк!
Далее - этот график сравнивается со всей ранее(час, день неделю в конце концов назад) заполненой базой
и выводит график, графики с наибольшим соответствием эталонному.
На этом заканчивается лирика и начинают вянуть помидоры.
Ибо померещилось мне что забивать данные в базу будет удобно чтобы новая строка всегда имела "id = 0"
и располагалась первой в таблице, а заполненые сдвигались вниз с "id +1".
Но, исскуственный мосх чятжпт мне сказал что нет таблиц со смещением строки вниз...я не поверил,
и сломал масги ищо трем искуственным мосгам...а мой расплавился.
Я нарыл на просторах во чо -
Перемещение записи вверх или вниз осуществляется путем замены ее на запись до или после, соответственно.
Если значения идентификатора сортировки всегда непрерывны (т. Е. Вы не удаляете записи, которые могли бы
вызвать разрыв), то вы можете просто добавить или вычесть единицу, чтобы получить следующую или
предыдущую запись. Если не гарантируется непрерывность записей, вам нужно найти запись рядом с той,
которую вы хотите переместить.
To find the SortId of the record before: select max(SortId) from TheTable where SortId
< @SortId To find the SortId of the record after: select min(SortId) from TheTable where SortId >
@SortId To swap the two records, you can use this trick that calculates one value from the other:
update TheTable set SortId = @SortId1 + @SortId2 - SortId where SortId in (@SortId1, @SortId2)
Искусный мосх мне ответил - во чо
Перемещение записей вверх или вниз: осуществляется путем обмена записями с предыдущей или последующей записью соответственно.
Сортировка по SortId: предполагается, что значения SortId являются непрерывными, поэтому для поиска следующей или предыдущей записи можно просто прибавить или отнять единицу.
Поиск соседних записей: если значения SortId не являются непрерывными, необходимо найти запись, расположенную рядом с той, которую вы хотите переместить.
Обмен записями: используется хитрость с вычислением одного значения из другого. Это позволяет изменить SortId двух записей одновременно, чтобы поменять их местами.
Применение в вашем коде:
Чтобы добавить функцию сдвига заполненной строки вниз, вам нужно добавить код, который будет делать следующее:
Проверка на заполненность первой строки: проверить, содержит ли первая строка данные.
Сдвиг данных вниз: если первая строка заполнена, необходимо сдвинуть все остальные строки вниз (увеличив SortId на единицу).
Обновление SortId: обновить значение SortId для первой строки до значения SortId последней строки в таблице.
Очистка первой строки: очистить первую строку, чтобы она была готова к заполнению новой строки.
Из его рассуждений я асилил только ,,используется хитрость с вычислением одного значения из другого,,
По моему это даже эпичнее чем - денег нет но вы держитесь.
В итоге - я весь в растерянных соплях как девушка в автомате и матом вас прошу - подскожите путь куда копать.
Думается мне что программное решение всё же есть.
Подкинете код - не верится чота, ибо чюдо!
Если есть мануал или лучше видос на эту тему - подкиньте ссылку хоть.
Возможно я ваще не туда педалю клаву - может есть готовое решение в других прогах.
Возможно - оставить таблицу как есть (новая строка добавляется ниже заполненой) и
копать от старшего "id" к "0" - но чота мне логика не видится как это реализовать...
Пешыте, звоните, шлите деньгами
с уважением elmegel.