有人能告诉我这是不是我正在使用的sql查询吗?
因此,我试图从事务表中找到订单数量。以下是我使用的查询:有人能告诉我这是不是我正在使用的sql查询吗?,sql,postgresql,Sql,Postgresql,因此,我试图从事务表中找到订单数量。以下是我使用的查询: select t.productid, EXTRACT(week from t.dt)as Week_, count (t.productid) as Orders FROM (SELECT distinct productid, dt from Transaction WHERE client='abc') as t GROUP BY t.productid, Week_ ORDER BY Wee
select t.productid,
EXTRACT(week from t.dt)as Week_,
count (t.productid) as Orders
FROM (SELECT distinct productid, dt from Transaction WHERE client='abc') as t
GROUP BY t.productid, Week_
ORDER BY Week_ asc;
我试图找到每个productid的唯一订单,按周分组。这是正确的方法吗?我真的希望能有一些见解和意见。如果改用此查询,它只会为每个productid提供1个订单:
select t.productid,EXTRACT(week from t.dt) as WEEK, count(distinct t.productid) as Orders from
Transaction t
where t.client ='abc'
GROUP BY WEEK, t.productid
ORDER BY WEEK asc;
这是不正确的。不,你的方法并不完全正确。客户可以在一周内以两种不同的订单订购同一产品两次。交易表中可能有某种类型的
orderid
。如果是,您可以执行以下操作:
SELECT t.productid, EXTRACT(week from t.dt)as Week_, count(distinct orderid) as orders
FROM Transaction
WHERE client ='abc'
GROUP BY t.productid, Week_
ORDER BY Week_ asc;
如果您想要客户端的数量,您可以执行以下操作:
SELECT t.productid, EXTRACT(week from t.dt)as Week_, count(distinct client) as clients
FROM Transaction
GROUP BY t.productid, Week_
ORDER BY Week_ asc;
谢谢你的快速回复!