· 8 years ago · Nov 28, 2017, 12:30 PM
1select group_concat(
2 price > n
3 ) = '1,0,1' result
4from stocks, (
5 select min(@x:= price) n
6 from stocks) _
7where price = n or price > @x - 3
8
9time name price
10
112010-10-10 10:11:10 AAPL 42
122010-10-10 10:12:10 AAPL 43
132010-10-10 10:23:10 AAPL 47
142010-10-10 10:44:10 AAPL 41
152010-10-10 10:55:10 AAPL 44
162010-10-10 11:16:10 AAPL 46
17
18CREATE TABLE IF NOT EXISTS `stocks` (
19 `time` DATETIME NOT NULL,
20 `name` VARCHAR(10) NOT NULL,
21 `price` INT NOT NULL
22) DEFAULT CHARSET=utf8;
23INSERT INTO `stocks` (`time`, `name`, `price`) VALUES
24('2010-10-10 10:11:10','AAPL',42),
25('2010-10-10 10:12:10','AAPL',43),
26('2010-10-10 10:23:10','AAPL',47),
27('2010-10-10 10:44:10','AAPL',41),
28('2010-10-10 10:55:10','AAPL',44),
29('2010-10-10 11:16:10','AAPL',46);