SQL按客户计算总天数

  • 本文关键字:计算 客户 SQL sql
  • 更新时间 :
  • 英文 :


我有一个表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

最新更新