Очень просто. Создаем в этой базе еще одну таблицу с именем prices_average2(например).
Далее из базы prices_average выбираем все строки. После выборки, у нас будет список кортежей(rows). Создаем пустой список. В цикле пробегаемся по элементам списка. При каждой итерации проверяем, есть ли текущий элемент в списке, если да - то ничего не делаем, если нет, заносим текущий элемент (кортеж) в новую таблицу prices_average2 и добавляем в список. Если бы в базе был уникальный столбец, можно было бы обойтись без второй таблицы(хотя может и сейчас так можно - мне просто лень ночью мозги напрягать:))
Я конечно не эксперт по БД, но что-то мне подсказывает, что если в базе нет уникального столбца(забыл как называется) - это может доставить некоторых проблем.
import sqlite3
conn = sqlite3.connect('1.db')
cursor = conn.cursor()
cursor.execute("""CREATE TABLE IF NOT EXISTS prices_average2 (
Сервер TEXT,
Категория TEXT,
Предмет TEXT,
Цена BIGINT,
День BIGINT,
Час BIGINT
)""")
cursor.execute('SELECT * FROM prices_average')
rows = cursor.fetchall()
unique_list = []
for row in rows:
if row in unique_list:
pass
else:
cursor.execute('INSERT INTO prices_average2 VALUES(?,?,?,?,?,?)',row)
unique_list.append(row)
conn.commit()
conn.close()
Перед экспериментом сделайте резервную копию.