Мне нужно написать запрос, чтобы рассчитать среднее количество дней между покупками для каждого клиента (без использования подзапросов).
create table data {
customer varchar(20) not null,
bought date not null,
primary key (customer,bought)
}
Например,
insert into data (customer,bought)
values (‘John Smith’, date ‘2011-02-01’),
(‘Alice Cooper’, date ‘2011-02-01’),
(‘Bob Baker’, date ‘2011-02-01’),
(‘John Smith’, date ‘2011-02-02’),
(‘Bob Baker’, date ‘2011-02-02’),
(‘Bob Baker’, date ‘2011-02-03’),
(‘Bob Baker’, date ‘2011-02-04’),
(‘Bob Baker’, date ‘2011-02-05’),
(‘Bob Baker’, date ‘2011-02-06’),
(‘Bob Baker’, date ‘2011-02-07’),
(‘John Smith’, date ‘2011-02-07’),
(‘Alice Cooper’, date ‘2011-02-08’);
должно вернутьсячто Джон Смит ждал 1 день, затем 5 дней, поэтому его среднее значение составляет 3 дня.Алиса Купер (!) Ждала 7 дней, поэтому ее среднее значение составляет 7. Боб Бейкер - ежедневный бегун, поэтому его среднее значение составляет 1.
Я сделал что-то подобное
select distinct customer, avg (bought) as average from data;
, но это не такне работает.
Любая помощь будет принята с благодарностью.