SQLite и Python - извлечение значения из БД - PullRequest
0 голосов
/ 16 мая 2018

У меня есть таблица в sqlite DB (alpha.db) с именем alphanum , и в ней есть следующие столбцы и значения.

enter image description here

У меня есть функция в Python для извлечения значений из этой БД:

import sqlite3
def viewdata(number):
    conn = sqlite3.connect("alpha.db")
    cursor = conn.cursor()
    cursor.execute(("SELECT Alpha,beta,gamma, number FROM alphanum WHERE number=?"),(number,))
    data=cursor.fetchall()
    conn.close()
    return data


print(viewdata(2.6))

если я использую это, я получаю следующее значение:

45,54,87,2.6

Здесьчисловой столбец содержит начальное значение, т. е. с номера 2.6 до 5.9 он принадлежит очереди 1, с номера 6 до 8.4 он принадлежит очереди 2 и т. д.

Теперь, если я хочу получить альфу, Бета, значения гаммы из этой таблицы для числа, которое находится между этими очередями, какой запрос я должен использовать?то есть, если я введу значение 5,8, я должен получить значения альфа-беты и гаммы для очереди 1, так как от номера 2.6 до номера 5.9 он принадлежит очереди 1.

Я не уверен, как использовать объявитьпеременные в SQLite, любая помощь будет оценена.

1 Ответ

0 голосов
/ 16 мая 2018

Если числа являются кумулятивными, согласно вашему комментарию, все, что вам нужно, - это выбрать записи, чье значение Number меньше или равно переданному номеру, и выбрать только самое высокое, например ::10000 *

cursor.execute("""SELECT Alpha, Beta, Gamma, Number FROM alphanum 
               WHERE Number<=? ORDER BY Number DESC LIMIT 1""", (number, ))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...