我如何获得mysql中的最新组?

时间:2012-09-04 08:16:56

标签: mysql

这是我编写的虚拟测试(我忘了id)。我想写一个查询,它将在每个组ID中返回最高的grp#。除非我删除最后一行,否则在这种情况下是最后两行。然后它就是最后一排和第二排。无论如何我不知道如何使用子查询编写查询w / o已经有一段时间了,我忘了如何编写子查询(这是一件好事吗?)

CREATE TABLE example ( gid INT, grp INT, data VARCHAR(100) );
--
mysql> select * from example;
+------+------+------+
| gid  | grp  | data |
+------+------+------+
|    1 |    1 | a    |
|    1 |    2 | a    |
|    2 |    1 | a    |
|    2 |    2 | a    |
|    1 |    5 | a    |
+------+------+------+

3 个答案:

答案 0 :(得分:2)

SELECT gid, MAX(grp) FROM example GROUP BY gid

答案 1 :(得分:2)

select gid,max(grp)as 'higest_grp' from example group by gid

答案 2 :(得分:0)

我相信这是为每行检索正确data的正确方法。

SELECT `gid`, `grp`, `data` FROM `example` 
WHERE `grp` IN (SELECT MAX(t2.`grp`) FROM `example` t2 GROUP BY `gid`) 
GROUP BY `gid`