SELECT 
    T.log_day,
    ut.user_id,
    ut.hobby
FROM
    (
        SELECT 
            MIN(log_time) AS earliest,
            DATE(log_time) as  log_day
        FROM 
            login_tb
        GROUP BY 
            DATE(log_time)
    ) AS T
JOIN
    login_tb lt ON T.earliest=lt.log_time
JOIN
    user_action_tb ut ON lt.user_id=ut.user_id

先取出每天最早的时间,然后跟原表合并

  1. 每合并一个表都要显式JOIN一次
  2. DATE(log_time) 提取日期部分,MIN(log_time)可以直接计算最早时间