有没有办法告诉 MySQL 在制作这样的东西的同时
SELECT id, MAX(seq) FROM t1 GROUP BY ident;
我也可以获得id值?我知道如果它不在 group by 中,我不应该使用id
它,但是当它已经通过它时,我觉得进行多遍以获取具有最大 seq 字段的行 id 很奇怪。那么最有效的方法是什么? id
是主键
有没有办法告诉 MySQL 在制作这样的东西的同时
SELECT id, MAX(seq) FROM t1 GROUP BY ident;
我也可以获得id值?我知道如果它不在 group by 中,我不应该使用id
它,但是当它已经通过它时,我觉得进行多遍以获取具有最大 seq 字段的行 id 很奇怪。那么最有效的方法是什么? id
是主键
SELECT a.*
FROM tableName
INNER JOIN
(
SELECT ident, MAX(seq) seq
FROM tableName
GROUP BY ident
) b ON a.ident = b.ident AND
a.seq = b.seq
尝试使用自加入:
SELECT t1.* FROM MyTable t1
JOIN
(SELECT ident, MAX(seq) AS MAX_Seq
FROM MyTable
GROUP BY ident
) t2
ON t1.seq = t2.MAX_Seq
AND t1.ident = t2.ident
马贝:
SELECT MAX(a.seq), (SELECT id FROM t1 as b where b.ident=a.ident AND MAX(a.seq) = b.seq LIMIT 1) as id FROM t1 AS a GROUP BY a.ident;
seq 到底是什么?
我猜你也可以订购你的结果?
SELECT id FROM t1 GROUP BY ident ORDER BY seq DESC
关于其他人的答案, seq 在另一个表中吗?