MySQL如何实现下面的查询语句?

问题描述#

有一张用户表 (user),有一张订单表 (order)。要实现的功能是,通过一条 SQL 语句查询出用户第一次购买记录的时间 (first_created_at) 和最后一次购买的时间 (last_created_at)。表结构如下:

  1. 如果没有订单记录则订单记录为空。
  2. 如果用户只有一条订单记录,则 frist_created_at 和 last_created_at 保持一致。
最佳答案
select u.id as user_id,u.username,min(o.created_at) as first_created_at,max(o.created_at) as last_created_at
from user u
left join order o on o.user_id=u.id
group by u.id
2年前 评论
讨论数量: 1
select u.id as user_id,u.username,min(o.created_at) as first_created_at,max(o.created_at) as last_created_at
from user u
left join order o on o.user_id=u.id
group by u.id
2年前 评论