2011-09-02 3 views
0

내 DB에 varchar 유형의 열이 있습니다.MYSQL에서 min() 값을 찾는 방법

테이블 이름 : Transcations

열 이름 : authprocess

내가 varchar 열에서 분() 값을 찾으려면

.

authprocess 

A1D1 

A1D3 

A1D4 

A1D1 

A1B1 

A1D5 
...... 

난 다음이

이 MySQL을 나에게 명령을 말해주십시오 "0000"값을 줄 Trnascation
에서 명령
선택 분 (authprocess)를 사용하고 있습니다.

+1

MIN()이 (가) 반환하기를 기대하는 것은 무엇입니까? 가장 작은 길이의 요소? 일반적으로 min은 number (int, decimal 등) 열 유형과 함께 작동합니다. – johnluetke

+1

가장 작은 문자열, 사전 식 순서는 제 추측입니다 ... MIN이 작동하지 않는 경우 놀랄 것입니다. – bdares

+1

숫자가 16 진수입니까? 어쩌면 10 진수로 변환하고 싶을 것입니다 ('CONV (authprocess, 16, 10)')? – Seth

답변

0

MIN()은 문자열에 실제적인 의미가 없습니다. 가장 좋은 방법은 값을 오름차순으로 정렬하고 최상위를 선택하는 것입니다. ??

SELECT TOP 1 FROM table ORDER ASC; 
+0

확실합니다. 주문이있을 경우 최소 주문이 있습니다. – mpen

+0

맨위로 'LIMIT 1'을 (를) 선택할 수 있습니다. – johnluetke

+0

안녕하세요 fileoffset 올바른 쿼리 테이블 이름을 적어주세요 : 전재와 열 이름 : authprocess SELECT TOP 1 FROM ........ 쿼리를 완료하십시오. – nehit

0

은 정렬 후에 첫 번째 항목을 취합니다. 텍스트 열의 경우 정렬 순서는 ascii 순서이므로 영숫자 데이터의 경우 0..9a..zA..Z

값이 0000 인 항목이 있어야합니다. 이는 물론 최소값입니다.

"유효한"항목으로 검색을 제한해야하는 것처럼 들립니다. 이들이 문자 자리 문자 자리가있을 경우 가정 항목이 유효하며,이 시도 :

select min(authprocess) 
from Transcations 
where authprocess regexp '[A-Z]\d[A-Z]\d' 

당신은 당신의 필요가 무엇에 맞게 정규식을 조정할 수 있습니다 - 예를 들어, 아마도 그것은 정규식과 일치하는 것이다, A-digit-D-digit'A\dD\d'

관련 문제