Форум сайта python.su
Здравствуйте, уважаемые разработчики. Можно ли SQLite таблицу вида:
Фамилия | Количество
Петров | 2
Иванов | 1
Анютина | 3
Иванов | 2
Петров | 3
свернуть к виду
Фамилия | Количество
Анютина | 3
Иванов | 3
Петров | 5
То есть одинаковые фамилии просуммировать и отсортировать по алфавиту. В таблице около 500000 записей. И скажется ли это на размере базы? Должно получиться около 150 записей.
Офлайн
GROUP BY + SUM
Офлайн
Я извиняюсь, можно поподробнее. Не совсем понятно. Это параметры выборки?
Офлайн
MaratD
изучите SQL если работаете с SQLite, SUM это строенная функция, GRIUP BY группировка
Офлайн
> То есть одинаковые фамилии просуммировать и отсортировать по алфавиту.
Отсортировать не получится. Т.к. таблица состоит из множества записей, а множества не сортируются.
> И скажется ли это на размере базы? Должно получиться около 150 записей.
У тебя сама база не нормализованна, тебе не суммировать надо, а менять схему всей БД.
Офлайн
Здравствуйте.
Можно ли подключиться к базе SQLite при начале работы программы (в начале дня), а закрыть базу только при завершении работы программы (в конце дня)? Или открывать-закрывать базу только при операциях с ней? Поделитесь опытом пожалуйста как правильнее.
Офлайн
База Sqlite - это как правило файл на вашем же компьютере, если вы обращаетесь к БД только из одной программы, то как мне кажется, без разницы. Другое дело, при разработке программы вы всегда должны рассчитывать на то, что ваша программа рано или поздно перерастет текущее ТЗ и вероятно в будущем вам надо будет использовать какую-то СУБД посерьезней. Лучше сразу пишите без оглядки на Sqlite.
Отредактировано FishHook (Фев. 14, 2018 08:16:46)
Офлайн
А если использовать, например, postgresql, то подключаемся только один раз в начале работы программы?
Офлайн
> А если использовать, например, postgresql, то подключаемся только один раз в начале работы программы?
Да.
Офлайн
MaratDВ этом случае, лучше всего использовать пулл соединений и использовать для этого готовый компонент. Таким образом, лучше сразу взять какую-нибудь взрослую библиотеку, которая абстрагирует вас от вопросов связанных с нюансами реализаций СУБД и провайдеров к ним (не стоит надеяться, что ваши SQL-запрсы будут стопроцентно совместимы с постгресом), например sqlalchemy
А если использовать, например, postgresql, то подключаемся только один раз в начале работы программы?
Офлайн