2014-06-15 43 views
-1

我是一個clomplete noob到mysql。 有此分配問題使用select查詢來查找表中的最新條目。 該表格包含以下列:EMPID,NAME,POSITION,SALARY,DEPTCODE,BOSSID查詢查找表中最新的一行數據

PRIMARY KEY是EMPID,但EMPID未自動增量。

EMPID輸入爲EMPID1000,或EMPID5000

的號碼不連續

回答

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 | 
+-----------+------+