У меня есть база данных, включающая определенные строки, такие как '{TICKER|IBM}', на которые я буду ссылаться как на строки тикера. Моя цель - подсчитать количество строк тикера в день для нескольких строк.
Моя таблица базы данных «твиты» включает строки «tweet_id», «создано в» (дд/мм/гггг чч/мм/сс) и «обработанный текст». Строки тикера, такие как '{TICKER|IBM}', находятся в строке 'обработанный текст'.
На данный момент у меня есть рабочий SQL-запрос для подсчета одной строки тикера (благодаря помощи других пользователей Stackoverflow). Я хотел бы иметь SQL-запрос, в котором я могу подсчитывать несколько строк (например, рядом с '{TICKER|IBM}' также '{TICKER|GOOG}' и '{TICKER|BAC}').
Рабочий SQL-запрос для подсчета одной строки тикера выглядит следующим образом:
SELECT d.date, IFNULL(t.count, 0) AS tweet_count
FROM all_dates AS d
LEFT JOIN (
SELECT COUNT(DISTINCT tweet_id) AS count, DATE(created_at) AS date
FROM tweets
WHERE processed_text LIKE '%{TICKER|IBM}%'
GROUP BY date) AS t
ON d.date = t.date
Таким образом, конечный результат должен дать столбец с датой, столбец с {TICKER|IBM}, столбец с {TICKER|GOOG} и один с {TICKER|BAC}.
Мне было интересно, возможно ли это и есть ли у вас решение для этого? У меня более 100 различных строк тикера. Конечно, делать их по одному — вариант, но это очень трудоемкий процесс.