2014-06-15 3 views
-1

나는 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 | 
+-----------+------+ 
관련 문제