简单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关联的特定行没有问题。试试看。测试一下。好好享受吧。