mysql отлично работает после первого раза - PullRequest
0 голосов
/ 07 марта 2019

У меня странная проблема: когда я запускаю команду sql в первый раз, она показывает неправильный результат, но когда я запускаю тот же код во второй раз, результат верный. Неправильный результат:

wrong result

Ожидаемый результат:

correct result

команда sql:

                SELECT srNumber, end_on, start_on, teamEntityId
                FROM (
                        SELECT srNumber, end_on, start_on, teamEntityId,
                            @lastrow := IF(@sr_Number = srNumber, @lastrow + 1,
                                            IF(@sr_Number := srNumber, 1, 0)) AS lastrow
                        FROM assign
                        CROSS JOIN (SELECT @lastrow := 0, @sr_Number = '') AS vars
                        ORDER By srNumber, assignId DESC) AS t
                WHERE t.lastrow = 1 AND t.teamEntityId = '00000168752ac161-02420aff00230001'

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Я хотел бы поблагодарить Алекса и Салмана , который решил проблему:

заменить приведенный ниже код

 @sr_Number = ''

до

@sr_Number := ''
0 голосов
/ 07 марта 2019

В более поздних версиях MySQL вам необходимо упорядочить данные до с использованием переменных. Так что замените:

FROM assign

с:

FROM (SELECT a.* FROM assign a ORDER BY srNumber, assignId DESC) a
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...