现在有个功能需要统计每个用户的首单。自己写的 sql 不太满意,希望大家能指点下。
这是我写的 sql
SELECT * FROM order WHERE create_time IN (
SELECT min( create_time ) create_time FROM
order WHERE
order_status IN ( 'PRE_DELIVER', 'PRE_ACCEPT', 'AFTER_DELIVER' )
AND user_id in (1,2,3,4) AND deleted = 0 GROUP BY user_id
)
GROUP BY user_id
我是先查询出每个用户第一单的时间,在通过时间去查询对应的订单。
但想不出怎么去优化,只能请教下大家,希望能给一些思路