Недавно я написал код, который регистрирует данные с веб-сайта обмена ставок. Код создает простую базу данных SQLite3 с одной таблицей. Эта база данных хранит коэффициенты для игр, поскольку игры идут в игре.Требуется справиться с сложным SQL-запросом
.schema
выглядит следующим образом:
CREATE TABLE in_play (
status text,
date text,
marketID int,
marketName text,
total_matched real,
home_back real,
home_lay real,
away_back real,
away_lay real,
draw_back real,
draw_lay real
);
В таблице status
может быть либо «ACTIVE» или «ПОДВЕСНЫМ», я только хочу, чтобы «активные» рынков. Я также заинтересован в том, чтобы смотреть на игры, которые рисуются изначально, а затем заканчиваются ничьей, т.е. draw_back
имеет более низкое значение, чем away_back
, и home_back
первоначально, а затем окончательная цена draw_back
ниже, чем первая цена draw_back
.
Для Проиллюстрировать это лучше вот бревно одной конкретной игры, что запрос должен найти:
ACTIVE|2013-06-27 13:13:17.577877|109868503|Home Utd v Tanjong Pagar Utd|49905.54|6.2|6.4|9.6|11.0|1.33|1.34
ACTIVE|2013-06-27 13:14:18.413846|109868503|Home Utd v Tanjong Pagar Utd|49905.54|6.0|6.6|11.5|13.0|1.31|1.32
ACTIVE|2013-06-27 13:15:19.320099|109868503|Home Utd v Tanjong Pagar Utd|65377.29|7.0|7.4|14.0|16.5|1.22|1.25
ACTIVE|2013-06-27 13:16:20.180560|109868503|Home Utd v Tanjong Pagar Utd|65377.29|9.6|10.0|14.5|17.5|1.2|1.22
ACTIVE|2013-06-27 13:17:21.093332|109868503|Home Utd v Tanjong Pagar Utd|65377.29|10.5|30.0|15.5|40.0|1.15|1.17
ACTIVE|2013-06-27 13:18:21.912865|109868503|Home Utd v Tanjong Pagar Utd|65377.29|13.5|19.5|16.5|26.0|1.11|1.12
Я хотел бы запрос, который выбирает все игры, как это и проверяет, что они, скорее всего, завершились вничью. В идеале это также добавит выигрыши/потери от ставок в таких играх, подсчитав число, которое заканчивается как ничья против числа, которое не заканчивается как ничья.
Пока запрос у меня есть
select *
from in_play
where status="ACTIVE"
and draw_back < away_back
and draw_back < home_back;
, но у меня нет большого опыта работы SQL.
Извините за длину этого сообщения, я надеюсь, что это имеет смысл.
I Подождите, вы должны использовать одиночные, а не двойные кавычки вокруг строкового литерала - то есть ... 'WHERE status = 'ACTIVE'' ... – nurdglaw