«

mysql 获取分组后 最早或最后的第一条数据

时间:2023-11-20 11:43     作者:Harry     分类: MySql


示例,现在有一用户操作日志表,现在需要获取所有用户各自最早的一次日志和最晚的一次日志,如下:

获取所有用户最早的一次日志记录:

SELECT log.*, MIN(log.create_time) AS create_time
FROM (
    SELECT `id`, `uid`, `type`, `create_time`
    FROM user_log
    ORDER BY create_time ASC
) log
GROUP BY uid;

获取所有用户最晚的一次日志记录:

SELECT log.*, MAX(log.create_time) AS create_time
FROM (
    SELECT `id`, `uid`, `type`, `create_time`
    FROM user_log
    ORDER BY create_time DESC
) log
GROUP BY uid;

标签: MySql

热门推荐