我的任务是为其他人提供包含大量原始数据的CSV,以便使用Excel进行分析。它是users
表和purchases
链接表(用户和产品),其要求是:
每个用户的行,其中包含用户ID和其他一些基本信息。该行的每个后续列都是他们在3月份购买的product_id。仅限3月份购买,仅限3月份购买量最多的前1000名用户。
这样的事情:
select purchases.user_id, purchases.product_id
from users
left join purchases on purchases.user_id = users.id
where (purchases.created_at < '2016-03-31 23:59:59.999999'
and purchases.created_at > '2016-03-01 00:00:00.000000')
-- an order by statement here for users with the most purchases
limit 1000
;
但不是结果
user_id | product_id
1000 | 3391
1000 | 8482
1000 | 4386
1008 | 4382
...
是这样的:
user_id | product_id | product_id | product_id
1000 | 3391 | 8482 | 4386
1008 | 4382 | |
...
我还是一个SQL初学者,并不确定从哪里开始。 coalesce
似乎错了。谢谢!