Отсутствуют данные при выборе следующих 3 записей после указанной - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь выбрать следующие 3 или более записей вне запроса на выборку в SQL.Я в настоящее время использую SQLite Pro 3.5.87 для этого вопроса.

Итак, у меня есть этот запрос:

SELECT * FROM winners_night WHERE winner_1 > 86 ORDER BY draw_date LIMIT 3

Это вывод, который я получаю неправильно:

draw_date   winner_1    winner_2    winner_3
2015-01-06  87          40          95
2015-01-18  95          66          20
2015-01-28  96          25          94

Теперь, winner_1, который в данном случае равен 86, имеетdraw_date установлен на 2015-01-05, поэтому желаемый результат должен быть:

draw_date   winner_1    winner_2    winner_3
2015-01-06  87          40          95
2015-01-07  46          72          74
2015-01-08  30          71          94

Вот моя схема:

Table [winners_night]
    Fields: 9
        [row_id]: INTEGER NOT NULL
        [year]: CHAR
        [month]: CHAR
        [date_of_the_month]: CHAR
        [day_of_the_week]: CHAR
        [draw_date]: DATE
        [winner_1]: INTEGER
        [winner_2]: INTEGER
        [winner_3]: INTEGER
    Foreign Keys: 0
    Indexes: 2
        [sqlite_autoindex_winners_night_1] PRIMARY
            [draw_date] 
        [row_id]
            [row_id] 
    Triggers: 0
    Unique constraints: 0
    Check constraints: 0
------------------------------------------------------------

У меня есть пропуски в моих идентификаторах, и поэтому я 'Я не использую их для сортировки результатов.

Вместо этого я использую draw_date для сортировки результатов.

Надеюсь, вы, ребята, можете мне помочь

Заранее спасибо !!

1 Ответ

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

Вы можете использовать подзапрос:

SELECT * FROM winners_night 
WHERE draw_date > 
(
SELECT draw_date FROM winners_night WHERE winner_1 = 86 Limit 1
)
ORDER BY draw_date Limit 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...