我有一个表customer
,它包含2列,1是customer_id
列,另一个是名为order_date
的日期列,记录客户购买产品的日期。现在我要计算每个顾客进店购物的天数。我尝试做以下操作,但只得到一个错误消息说sum(date)
不存在。
select customer_id, sum(order_date)
from customer;
我怎样才能正确地做到这一点?
----编辑,添加查询创建表:
CREATE TABLE sales (
"customer_id" VARCHAR(1),
"order_date" DATE
);
INSERT INTO sales
("customer_id", "order_date")
VALUES
('A', '2021-01-01'),
('A', '2021-01-01'),
('A', '2021-01-07'),
('A', '2021-01-10'),
('A', '2021-01-11'),
('A', '2021-01-11'),
('B', '2021-01-01'),
('B', '2021-01-02'),
('B', '2021-01-04'),
('B', '2021-01-11'),
('B', '2021-01-16'),
('B', '2021-02-01'),
('C', '2021-01-01'),
('C', '2021-01-01'),
('C', '2021-01-07');
你只需要这样:
SELECT
customer_id,
COUNT( DISTINCT "order_date" ) AS count_days_they_bought_something
FROM
sales
GROUP BY
customer_id