SQLite SELECT 股票代号的最后 2 条记录
SQLite SELECT last 2 records by Stock Symbol
我有一个 SQLite3 table 的股票价格(见下面的例子)。我想定义一个 SELECT 语句,它将按时间戳按降序检索每个股票代码(组)的最后 2 条记录。 table 的主键是 Symbol+TimeStamp。
Symbol TimeStamp Close
ZXYZ 2/12/2016 16:00 17.81
ZXYZ 2/16/2016 16:00 18.83
ZXYZ 2/17/2016 16:00 19.38
ZXYZ 2/18/2016 16:00 19.55 <--
ZXYZ 2/19/2016 16:00 20.31 <--
ZAGG 2/12/2016 16:00 9.10
ZAGG 2/16/2016 16:00 9.70
ZAGG 2/17/2016 16:00 9.59
ZAGG 2/18/2016 16:00 9.62 <--
ZAGG 2/19/2016 16:00 10.01 <--
ZAYO 2/12/2016 16:00 21.89
ZAYO 2/16/2016 16:00 23.22
ZAYO 2/17/2016 16:00 23.63
ZAYO 2/18/2016 16:00 23.80 <--
ZAYO 2/19/2016 16:00 23.51 <--
完成后,生成的 table 应如下所示:
Symbol TimeStamp Close
ZXYZ 2/18/2016 16:00 19.549999
ZXYZ 2/19/2016 16:00 20.309999
ZAGG 2/18/2016 16:00 9.62
ZAGG 2/19/2016 16:00 10.01
ZAYO 2/18/2016 16:00 23.799999
ZAYO 2/19/2016 16:00 23.51
感谢您的帮助。
我认为这适用于 SQLite:
select sp.*
from stockprices sp
where sp.timestamp in (select sp2.timestamp
from stockprices sp2
where sp2.symbol = sp.symbol
order by sp2.timestamp desc
limit 2
)
order by sp.symbol, sp.timestamp desc;
我有一个 SQLite3 table 的股票价格(见下面的例子)。我想定义一个 SELECT 语句,它将按时间戳按降序检索每个股票代码(组)的最后 2 条记录。 table 的主键是 Symbol+TimeStamp。
Symbol TimeStamp Close
ZXYZ 2/12/2016 16:00 17.81
ZXYZ 2/16/2016 16:00 18.83
ZXYZ 2/17/2016 16:00 19.38
ZXYZ 2/18/2016 16:00 19.55 <--
ZXYZ 2/19/2016 16:00 20.31 <--
ZAGG 2/12/2016 16:00 9.10
ZAGG 2/16/2016 16:00 9.70
ZAGG 2/17/2016 16:00 9.59
ZAGG 2/18/2016 16:00 9.62 <--
ZAGG 2/19/2016 16:00 10.01 <--
ZAYO 2/12/2016 16:00 21.89
ZAYO 2/16/2016 16:00 23.22
ZAYO 2/17/2016 16:00 23.63
ZAYO 2/18/2016 16:00 23.80 <--
ZAYO 2/19/2016 16:00 23.51 <--
完成后,生成的 table 应如下所示:
Symbol TimeStamp Close
ZXYZ 2/18/2016 16:00 19.549999
ZXYZ 2/19/2016 16:00 20.309999
ZAGG 2/18/2016 16:00 9.62
ZAGG 2/19/2016 16:00 10.01
ZAYO 2/18/2016 16:00 23.799999
ZAYO 2/19/2016 16:00 23.51
感谢您的帮助。
我认为这适用于 SQLite:
select sp.*
from stockprices sp
where sp.timestamp in (select sp2.timestamp
from stockprices sp2
where sp2.symbol = sp.symbol
order by sp2.timestamp desc
limit 2
)
order by sp.symbol, sp.timestamp desc;