简单MYSQL独特选择

简单MYSQL独特选择,mysql,sql,Mysql,Sql,如果我有一个包含两列、名称和时间戳的表,以及一组具有共享名称的行。如何从共享相同名称的每组行中选择最近的行 谢谢 SELECT name, MAX(timestamp) FROM Table1 GROUP BY name 编辑:根据评论,请尝试以下操作: SELECT name, timestamp, col3, col4 FROM Table1 t1 WHERE timestamp = (SELECT MAX(t2.timestamp) FROM Table

如果我有一个包含两列、名称和时间戳的表,以及一组具有共享名称的行。如何从共享相同名称的每组行中选择最近的行

谢谢

SELECT name, MAX(timestamp) FROM Table1 GROUP BY name
编辑:根据评论,请尝试以下操作:

SELECT name, timestamp, col3, col4
FROM   Table1 t1
WHERE  timestamp = (SELECT MAX(t2.timestamp)
              FROM Table1 t2
              WHERE t1.name = t2.name);

由Mchl添加

没有依赖子查询的版本(应执行得更好)

编辑:根据评论,请尝试以下操作:

SELECT name, timestamp, col3, col4
FROM   Table1 t1
WHERE  timestamp = (SELECT MAX(t2.timestamp)
              FROM Table1 t2
              WHERE t1.name = t2.name);

由Mchl添加

没有依赖子查询的版本(应执行得更好)


然后需要一个子查询:

SELECT columns 
FROM Table1 t1
WHERE row_id = (SELECT row_id 
                FROM table1 t2
                WHERE t1.name = t2.name
                ORDER BY timestamp DESC 
                LIMIT 1)
GROUP BY name

已编辑,按名称忘记组

然后需要一个子查询:

SELECT columns 
FROM Table1 t1
WHERE row_id = (SELECT row_id 
                FROM table1 t2
                WHERE t1.name = t2.name
                ORDER BY timestamp DESC 
                LIMIT 1)
GROUP BY name

编辑,按名称忘记组

抱歉,我需要的行中实际上还有其他列…因此我需要与最大时间戳关联的特定行没有问题。试试看。测试一下。享受吧。抱歉,我需要的行中实际上还有其他列…所以我需要与max timestamp关联的特定行没有问题。试试看。测试一下。好好享受吧。