SQL-запрос, выбирающий только первый результат - PullRequest
0 голосов
/ 06 апреля 2019

Я хочу получить все songIDs , которые связаны с userID , который я ввел, но он печатает только первый результат.

База данных: enter image description here

Мой код:

enter = raw_input('Enter UserID: ')
cursor = MusicData.cursor()
sql = "SELECT * FROM (SELECT songID FROM train WHERE userID=? )"
result = cursor.execute(sql,(enter,))
print result.fetchall()[0][0],
Enter UserID: 3a613180775197cd08c154abe4e3f67af238a632
SODOZXB12A8C13CD55

Ответы [ 4 ]

1 голос
/ 06 апреля 2019

В первой колонке отображаются только первые строки из-за [0][0] после этой строки print result.fetchall()[0][0]

0 голосов
/ 06 апреля 2019

Проблема с вашим оператором печати.Прямо сейчас, давая print result.fetchall()[0][0], вы просите python напечатать один элемент.Используйте

for item in result.fetchall():
    print item
0 голосов
/ 06 апреля 2019

Я исправил это, добавив цикл for fetchall ()

rows = result.fetchall()
for row in rows:
    print row
0 голосов
/ 06 апреля 2019

Добавьте «LIMIT NN» к вашему запросу SQL. Это ограничит вывод количеством строк NN:

sql = "SELECT * FROM Table LIMIT 5"

Даст вам всего 5 рядов.

в БД MS SQL это должно быть ключевое слово "TOP":

sql = "SELECT TOP 5 * FROM Table"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...