[英]Missing data when selecting next 3 records after a specified one
我试图在SQL中的select查询之外选择接下来的3条或更多条记录。 我目前正在使用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
------------------------------------------------------------
我的ID有空白,这就是为什么我不使用它们对结果进行排序。
相反,我使用的是draw_date对结果进行排序。
希望你们能帮助我
提前致谢!!
您可以使用子查询:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.