57,062
社区成员
发帖
与我相关
我的任务
分享mysql> select t.*
-> from a t inner join (select name, max(mid(ver,2)+0) as nv from a group by
name) s
-> on t.name=s.name and mid(t.ver,2)+0=s.nv;
+------+-------+----+
| name | ver | id |
+------+-------+----+
| a001 | v11.0 | 8 |
| b002 | v12.1 | 9 |
+------+-------+----+
2 rows in set (0.00 sec)
mysql>mysql> select *
-> from a t
-> where mid(ver,2)+0=(select max(mid(ver,2)+0) from a where name=t.name);
+------+-------+----+
| name | ver | id |
+------+-------+----+
| a001 | v11.0 | 8 |
| b002 | v12.1 | 9 |
+------+-------+----+
2 rows in set (0.00 sec)
mysql>mysql> select * from a;
+------+-------+----+
| name | ver | id |
+------+-------+----+
| a001 | v1.0 | 1 |
| b002 | v1.1 | 2 |
| b002 | v1.0 | 3 |
| a001 | v1.3 | 4 |
| b002 | v1.3 | 5 |
| a001 | v1.2 | 6 |
| b002 | v1.2 | 7 |
| a001 | v11.0 | 8 |
| b002 | v12.1 | 9 |
| b002 | v9.0 | 10 |
| a001 | v9.3 | 11 |
+------+-------+----+
11 rows in set (0.00 sec)
mysql> select * from a t
-> where not exists (select 1 from a where name=t.name and mid(ver,2)+0>mid(
t.ver,2)+0);
+------+-------+----+
| name | ver | id |
+------+-------+----+
| a001 | v11.0 | 8 |
| b002 | v12.1 | 9 |
+------+-------+----+
2 rows in set (0.05 sec)
mysql>select * from a t
where not exists (select 1 from a where name=t.name and mid(ver,2)+0>mid(t.ver,2)+0);SELECT max(id), name, max(substring(ver, 2)) as ver FROM `sup_web`.`test` group by name