Найти - Пользователи
Полная версия: sqlite
Начало » Python для новичков » sqlite
1 2 3
MaratD
Здравствуйте, уважаемые разработчики. Можно ли SQLite таблицу вида:

Фамилия | Количество
Петров | 2
Иванов | 1
Анютина | 3
Иванов | 2
Петров | 3

свернуть к виду

Фамилия | Количество
Анютина | 3
Иванов | 3
Петров | 5

То есть одинаковые фамилии просуммировать и отсортировать по алфавиту. В таблице около 500000 записей. И скажется ли это на размере базы? Должно получиться около 150 записей.
FishHook
GROUP BY + SUM
MaratD
Я извиняюсь, можно поподробнее. Не совсем понятно. Это параметры выборки?
JOHN_16
MaratD
изучите SQL если работаете с SQLite, SUM это строенная функция, GRIUP BY группировка
Rodegast
> То есть одинаковые фамилии просуммировать и отсортировать по алфавиту.

Отсортировать не получится. Т.к. таблица состоит из множества записей, а множества не сортируются.

> И скажется ли это на размере базы? Должно получиться около 150 записей.

У тебя сама база не нормализованна, тебе не суммировать надо, а менять схему всей БД.
MaratD
Здравствуйте.
Можно ли подключиться к базе SQLite при начале работы программы (в начале дня), а закрыть базу только при завершении работы программы (в конце дня)? Или открывать-закрывать базу только при операциях с ней? Поделитесь опытом пожалуйста как правильнее.
FishHook
 База Sqlite - это как правило файл на вашем же компьютере, если вы обращаетесь к БД только из одной программы, то как мне кажется, без разницы. Другое дело, при разработке программы вы всегда должны рассчитывать на то, что ваша программа рано или поздно перерастет текущее ТЗ и вероятно в будущем вам надо будет использовать какую-то СУБД посерьезней. Лучше сразу пишите без оглядки на Sqlite.
MaratD
А если использовать, например, postgresql, то подключаемся только один раз в начале работы программы?
Rodegast
> А если использовать, например, postgresql, то подключаемся только один раз в начале работы программы?

Да.
FishHook
MaratD
А если использовать, например, postgresql, то подключаемся только один раз в начале работы программы?
В этом случае, лучше всего использовать пулл соединений и использовать для этого готовый компонент. Таким образом, лучше сразу взять какую-нибудь взрослую библиотеку, которая абстрагирует вас от вопросов связанных с нюансами реализаций СУБД и провайдеров к ним (не стоит надеяться, что ваши SQL-запрсы будут стопроцентно совместимы с постгресом), например sqlalchemy
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB