У меня есть таблица с двумя полями, inbound
и outbound
, оба из которых являются текстовыми значениями. Я хочу получить все количество всех экземпляров указанного c значения в одном или обоих этих столбцах.
Вот пример схемы с некоторыми значениями и моим запросом:
CREATE TABLE widgets (
id int(5) auto_increment,
inbound varchar(200),
outbound varchar(200),
event_name varchar(255),
start_time int(11),
primary key(id)
);
INSERT INTO widgets values (NULL, 'my_widget', 'other_widget', 'STARTED', unix_timestamp());
INSERT INTO widgets values (NULL, 'my_widget', 'my_widget', 'STARTED', unix_timestamp());
INSERT INTO widgets values (NULL, 'my_widget', 'my_widget', 'STARTED', unix_timestamp());
SELECT count(*)
FROM (
SELECT inbound, outbound, event_name
FROM `widgets`
ORDER BY `start_time` DESC
LIMIT 10000
) AS t
WHERE
(t.`inbound` = 'my_widget'
OR
t.`outbound` = 'my_widget'
)
AND event_name != 'FINISHED'
Вот SQL скрипка со схемой и моим текущим запросом
В настоящее время я получаю count
из 3 появлений my_widget
, однако я хочу посчитать все 5 появлений my_widget