[英]Select last order date, all the order id and user id for particular seller in postgreSQL
I am new to postgreSQL我是 postgreSQL 的新手
Updated Initial Question:更新的初始问题:
I have two tables orders
& users
我有两个表
orders
和users
user_id![]() |
username![]() |
---|---|
a![]() |
user1![]() |
b ![]() |
user2![]() |
c ![]() |
user3![]() |
order_id ![]() |
ordered_at![]() |
user_id![]() |
seller_id![]() |
---|---|---|---|
1 ![]() |
2022-08-10 ![]() |
a![]() |
s1 ![]() |
2 ![]() |
2022-08-09 ![]() |
b ![]() |
s1 ![]() |
3 ![]() |
2022-07-06 ![]() |
a![]() |
s2 ![]() |
4 ![]() |
2022-08-01 ![]() |
a![]() |
s1 ![]() |
5 ![]() |
2022-05-02 ![]() |
c ![]() |
s1 ![]() |
6 ![]() |
2022-08-11 ![]() |
b ![]() |
s2 ![]() |
7 ![]() |
2022-08-12 ![]() |
b ![]() |
s1 ![]() |
My postgres SQL query should give me the result for seller s1:我的 postgres SQL 查询应该给我卖家 s1 的结果:
order_id ![]() |
last_purchase![]() |
user_id![]() |
username![]() |
---|---|---|---|
1 ![]() |
2022-08-10 ![]() |
a![]() |
user1![]() |
4 ![]() |
2022-08-10 ![]() |
a![]() |
user1![]() |
2 ![]() |
2022-08-12 ![]() |
b ![]() |
user2![]() |
7 ![]() |
2022-08-12 ![]() |
b ![]() |
user2![]() |
5 ![]() |
2022-05-02 ![]() |
c ![]() |
user3![]() |
For this I have wrote the SQL query:为此,我编写了 SQL 查询:
SELECT
MAX(orders.ordered_at) AS last_purchase,
orders.order_id AS order_id,
users.user_id AS users_id,
users.username as username
FROM
orders
INNER JOIN
users
ON
orders.user_id = users.user_id
WHERE
orders.seller_id='s1'
GROUP BY users.user_id;
I am not getting the desired output我没有得到想要的 output
Any suggestions or help is welcomed.欢迎任何建议或帮助。 Thank you!
谢谢!
if I am understanding your question you want last purchase to be the max date per user id.如果我理解您的问题,您希望最后一次购买是每个用户 ID 的最大日期。 if so use a windowing function
如果是这样,请使用窗口 function
SELECT
MAX(orders.ordered_at) over
(partition by users.users_id order by orders.ordered_at desc) as
last_purchase,
orders.order_id AS order_id,
users.users_id AS users_id,
users.username as username
FROM
orders
INNER JOIN
users
ON
orders.user_id = users.id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.