Привет! У меня проблема с выборкой данных из БД. Мне нужно выбрать строки, в которых значение столбца open меняется (увеличивается или уменьшается) на протяжении некоторого времени. Я представляю как реализовать решение используя вычисление направления (рост или падение) значений столбца в фоне, но хотелось бы выбирать их сразу с помощью одного запроса в БД. Структура таблицы:
CREATE TABLE `stock_price` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`stock_id` INT(11) UNSIGNED NOT NULL,
`date` DATE NOT NULL,
`open` DECIMAL(24, 4) NOT NULL,
`high` DECIMAL(24, 4) NOT NULL,
`low` DECIMAL(24, 4) NOT NULL,
`close` DECIMAL(24, 4) NOT NULL,
`volume` DECIMAL(24, 4) NOT NULL,
`adj_close` DECIMAL(24, 4) NOT NULL,
`symbol` VARCHAR(32) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`stock_id`) REFERENCES `stock` (`id`)
ON DELETE CASCADE ON UPDATE CASCADE,
KEY (`date`),
KEY (`stock_id`),
KEY (`date`),
UNIQUE KEY (`stock_id`, `date`),
KEY (`symbol`),
KEY (`open`),
KEY (`high`),
KEY (`low`),
KEY (`close`),
KEY (`volume`),
KEY (`adj_close`)
) ENGINE = InnoDB CHARACTER SET `utf8`;
Я хочу сделать один запрос и на выходе получить список stock_id где значения open росли или падали (это конечно уже два разных запроса).