我是mysql的完整菜鸟。 使用查询中的select来查找表中的最新条目。 该表包含以下列:EMPID,NAME,POSITION,SALARY,DEPTCODE,BOSSID
PRIMARY KEY是EMPID,但EMPID不是自动增量的。
EMPID输入为EMPID1000或EMPID5000
数字不是连续的
答案 0 :(得分:1)
一种可能的方法是
select * from your_table
order by substring_index(EMPID,'EMPID',-1) asc ;
这是一个例子
mysql> create table test (empid varchar(100),name varchar(100));
Query OK, 0 rows affected (0.11 sec)
mysql> insert into test values
('EMPID1000','A'),
('EMPID1001','B'),
('EMPID5000','C'),
('EMPID4000','D'),
('EMPID2000','E'),
('EMPID3000','F');
Query OK, 6 rows affected (0.07 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql> select * from test order
by substring_index(empid,'EMPID',-1) asc ;
+-----------+------+
| empid | name |
+-----------+------+
| EMPID1000 | A |
| EMPID1001 | B |
| EMPID2000 | E |
| EMPID3000 | F |
| EMPID4000 | D |
| EMPID5000 | C |
+-----------+------+
因此,您可以使用desc
限制1来获取最后一个
mysql> select * from test
order by substring_index(empid,'EMPID',-1) desc limit 1 ;
+-----------+------+
| empid | name |
+-----------+------+
| EMPID5000 | C |
+-----------+------+