假设我的数据库中没有2015-12-17的数据。 是否有可能获得2015-12-16(最新的可用数据集)的数据?
这是我的数据结构
CREATE TABLE `historical_data` (
`symbol_name` varchar(70) DEFAULT NULL,
`current_day` date DEFAULT NULL,
`open_val` decimal(15,2) DEFAULT NULL,
`high_val` decimal(15,2) DEFAULT NULL,
`low_val` decimal(15,2) DEFAULT NULL,
`close_val` decimal(15,2) DEFAULT NULL,
`last_val` decimal(15,2) DEFAULT NULL,
`prevclose_val` decimal(15,2) DEFAULT NULL
);
INSERT INTO `historical_data` (`symbol_name`, `current_day`, `open_val`, `high_val`, `low_val`, `close_val`, `last_val`, `prevclose_val`) VALUES
('WOCKPHARMA', '2015-12-11', 1611.00, 1620.00, 1570.30, 1581.25, 1579.00, 1602.10),
('YESBANK', '2015-12-11', 709.00, 713.70, 672.25, 680.60, 683.45, 707.10),
('WOCKPHARMA', '2015-12-14', 1572.50, 1584.70, 1545.00, 1559.55, 1557.60, 1581.25),
('YESBANK', '2015-12-14', 679.10, 689.00, 668.00, 683.25, 683.65, 680.60),
('WOCKPHARMA', '2015-12-15', 1564.70, 1580.50, 1558.00, 1572.10, 1567.50, 1559.55),
('YESBANK', '2015-12-15', 688.00, 694.20, 675.75, 691.35, 688.25, 683.25),
('WOCKPHARMA', '2015-12-16', 1581.50, 1617.90, 1578.00, 1587.15, 1589.00, 1572.10),
('YESBANK', '2015-12-16', 697.00, 710.60, 694.25, 698.55, 699.15, 691.35),
('WOCKPHARMA', '2015-12-18', 1630.00, 1654.85, 1620.30, 1627.55, 1631.00, 1628.20),
('YESBANK', '2015-12-18', 717.90, 727.45, 713.60, 718.70, 720.20, 721.10);
这是我的小提琴
http://sqlfiddle.com/#!9/ee243/2
我的查询
SELECT * from historical_data where current_day =
(SELECT max(current_day-1) from historical_data) order by open_val desc;