Извиняюсь за базовый c вопрос, я не смог найти ответ после поиска.
У меня есть стол с командой , фруктами , событие и отметка времени .
CREATE TABLE table1
(`team` int, `event` varchar(6), `fruit` varchar(6),
`timestamp` timestamp)
;
INSERT INTO table1
(`team`, `event`, `fruit`, `timestamp`)
VALUES
(100, 'seen', 'apple', '2005-06-20 12:13:00'),
(100, 'bought', 'apple', '2005-06-20 12:14:00'),
(100, 'seen', 'banana', '2005-06-20 12:15:00'),
(200, 'seen', 'apple', '2005-06-20 12:16:00'),
(200, 'seen', 'apple', '2005-06-20 12:16:00'),
(200, 'seen', 'banana', '2005-06-20 12:16:00'),
(300, 'seen', 'orange', '2005-06-20 12:16:00'),
(300, 'seen', 'apple', '2005-06-20 12:16:00'),
(300, 'bought', 'orange', '2005-06-20 12:17:00'),
(300, 'bought', 'apple', '2005-06-20 12:18:00')
;
Цель состоит в том, чтобы подсчитать, сколько команд купили каждый тип фруктов в качестве первой покупки дня.
Предполагается, что все данные в таблице получены за один и тот же день.
Ожидается: apple = 1, orange = 1, banana = 0.
Кроме того, идеальный сценарий будет учитывать нулевые значения в метке времени.
Я являюсь новичок в SQL и этот скрипт не учитывает команды.
select fruit, count((select min(timestamp) from table1
where event = "bought"))
from table1
group by fruit
;
Заранее спасибо!