Запрос на последнюю строчку определенного столбца

В классе TestWindow есть счетчик который отправляет результат в таблицу в колонку Результат. В классе EndTestWindow пишу запрос на выдачу результата из БД но выдается только 1 вместо реального результата. Во втором варианте добавил self.cursor.fetchall() Теперь постоянно пишет Результат': 'None' хотя на самом деле это не так

SELECT * FROM students ORDER BY Результат DESC LIMIT 1

Такой запрос пишет ошибку на =%s

SELECT * FROM students WHERE Результат =%s

TestWindow

class TestWindow(QtWidgets.QMainWindow, Ui_Test):
    def __init__(self):
        super(TestWindow, self).__init__()
        self.setupUi(self)
        self.connection = pymysql.connect(
            host=host,
            port=3306,
            user=user,
            password=password,
            database=db_name,
            cursorclass=pymysql.cursors.DictCursor
        )
        self.cursor = self.connection.cursor()


        self.pushButtonEndTest.clicked.connect(self.openEndTestWindow)
        self.pushButtonEndTest.clicked.connect(self.Resylt)


    def Resylt(self):
        self.res = 0
        if self.comboBox.currentIndex() == self.kk_1:
            self.res = self.res+1
        if self.comboBox_2.currentIndex() == self.kk_2:
            self.res = self.res+1
        if self.comboBox_3.currentIndex() == self.kk_3:
                self.res = self.res+1
        if self.comboBox_4.currentIndex() == self.kk_4:
                self.res = self.res+1
        if self.comboBox_5.currentIndex() == self.kk_5:
                self.res = self.res+1
        print("Количество верных ответов - " + str(self.res))
        self.cursor.execute(f"UPDATE students SET Результат = '{self.res}' ORDER BY id DESC LIMIT 1")
        self.connection.commit()


    def openEndTestWindow(self):
        self.EndTest = EndTestWindow()
        self.close()
        self.EndTest.show()

EndTestWindow

class EndTestWindow(QtWidgets.QMainWindow, Ui_EndTest):
    def __init__(self):
        super(EndTestWindow, self).__init__()
        self.setupUi(self)
        self.connection = pymysql.connect(
            host=host,
            port=3306,
            user=user,
            password=password,
            database=db_name,
            cursorclass=pymysql.cursors.DictCursor
        )
        self.cursor = self.connection.cursor()
        # ozenka = self.cursor.execute("SELECT * FROM students WHERE Результат =%s")
        ozenka = self.cursor.execute("SELECT * FROM students ORDER BY id DESC LIMIT 1")
        self.connection.commit()
        self.label_2.setText("Ваша оценка "+ (str(ozenka))  + " из 5")


        self.Button_startMain.clicked.connect(self.openToMain)

    def openToMain(self):
        self.close()
        w.show()

Второй вариант EndTestWindow

class EndTestWindow(QtWidgets.QMainWindow, Ui_EndTest):
    def __init__(self):
        super(EndTestWindow, self).__init__()
        self.setupUi(self)
        self.connection = pymysql.connect(
            host=host,
            port=3306,
            user=user,
            password=password,
            database=db_name,
            cursorclass=pymysql.cursors.DictCursor
        )
        self.cursor = self.connection.cursor()
        self.cursor.execute("SELECT Результат FROM students ORDER BY id DESC LIMIT 1")
        # ozenka = self.cursor.execute("SELECT Результат FROM students ORDER BY id DESC LIMIT 1")
        ozenka = self.cursor.fetchall()
        self.connection.commit()
        self.label_2.setText("Ваша оценка "+ (str(ozenka))  + " из 5")
        # ozenka = self.cursor.execute("SELECT Результат FROM students ORDER BY id DESC LIMIT 1")
        # # ozenka = self.cursor.execute("SELECT Результат FROM students ORDER BY id DESC LIMIT 1")
        
        # self.connection.commit()
        # self.label_2.setText("Ваша оценка "+ (str(ozenka))  + " из 5")


        self.Button_startMain.clicked.connect(self.openToMain)

    def openToMain(self):
        self.close()
        w.show()

Результат 1го EndTestWindow

Результат 2го EndTestWindow


Ответы (1 шт):

Автор решения: Pr0gramm1st

Надо сортировать по столбцу id, чтобы последний элемент стал первым. Вот так должно сработать:

SELECT * FROM students ORDER BY id DESC LIMIT 1
→ Ссылка