Mysql:在另一个表中插入半不同的条目
我有一个名为Mysql:在另一个表中插入半不同的条目,mysql,database,Mysql,Database,我有一个名为logs的表 日志有几列,其中两列被称为user\u id,一个有符号整数,和timestamp,后者是时间戳 logs表每个用户id可以有几个时间戳 我想将这些数据传输到一个名为users的表中,该表有几列,其中两列称为user\u id和last\u date 我需要做的是为每个用户id填充users表的last_date列,您猜得到,日志表的lasttimestamp 我知道如何从表中插入一个选择,但我不知道如何获得一个不同的用户ID及其时间戳的列表,该列表由最后一个时间戳过滤
logs
的表
日志有几列,其中两列被称为user\u id
,一个有符号整数,和timestamp
,后者是时间戳
logs表每个用户id可以有几个时间戳
我想将这些数据传输到一个名为users
的表中,该表有几列,其中两列称为user\u id
和last\u date
我需要做的是为每个用户id填充users表的last_date
列,您猜得到,日志表的lasttimestamp
我知道如何从表中插入一个选择,但我不知道如何获得一个不同的用户ID及其时间戳的列表,该列表由最后一个时间戳过滤掉
例如
选择DISTINCT(user_id),按时间戳描述从日志组中选择时间戳
首先,使用分组方式时不需要DISTINCT
。其次,您希望通过用户id
进行聚合。第三,您需要为时间戳
提供一个聚合函数:
SELECT user_id, MAX(timestamp) as last_date FROM `logs` GROUP BY user_id;
SELECT user_id, max(timestamp)
FROM `log`
GROUP BY user_id
ORDER BY max(timestamp) desc;
我不确定是否需要最终的orderby
,但它符合问题中的查询
这假设“最后一个时间戳”是指最大的时间戳。如果情况并非如此,则使用示例数据编辑您的问题。首先,在使用分组方式时,您不需要distinct
。其次,您希望通过用户id
进行聚合。第三,您需要为时间戳
提供一个聚合函数:
SELECT user_id, max(timestamp)
FROM `log`
GROUP BY user_id
ORDER BY max(timestamp) desc;
我不确定是否需要最终的orderby
,但它符合问题中的查询
这假设“最后一个时间戳”是指最大的时间戳。如果情况并非如此,则使用示例数据编辑您的问题。首先,在使用分组方式时,您不需要distinct
。其次,您希望通过用户id
进行聚合。第三,您需要为时间戳
提供一个聚合函数:
SELECT user_id, max(timestamp)
FROM `log`
GROUP BY user_id
ORDER BY max(timestamp) desc;
我不确定是否需要最终的orderby
,但它符合问题中的查询
这假设“最后一个时间戳”是指最大的时间戳。如果情况并非如此,则使用示例数据编辑您的问题。首先,在使用分组方式时,您不需要distinct
。其次,您希望通过用户id
进行聚合。第三,您需要为时间戳
提供一个聚合函数:
SELECT user_id, max(timestamp)
FROM `log`
GROUP BY user_id
ORDER BY max(timestamp) desc;
我不确定是否需要最终的orderby
,但它符合问题中的查询
这假设“最后一个时间戳”是指最大的时间戳。如果情况并非如此,请使用示例数据编辑您的问题