속성에 대한 리스팅 번호를 저장하는 필드가 있습니다. 04202011a1에서 04202011z1로 이동 한 다음 04202011aa1에서 04202011zz1로 이동합니다. 04202011 이후 다음 번호 나 문자 조합을 어떻게 얻을 수 있습니까? 지난 1의 사용자 아이디 증가 내가 조각 ID를 분리하지만 후 마지막MySQL order z1 then aa1
감사
CG
속성에 대한 리스팅 번호를 저장하는 필드가 있습니다. 04202011a1에서 04202011z1로 이동 한 다음 04202011aa1에서 04202011zz1로 이동합니다. 04202011 이후 다음 번호 나 문자 조합을 어떻게 얻을 수 있습니까? 지난 1의 사용자 아이디 증가 내가 조각 ID를 분리하지만 후 마지막MySQL order z1 then aa1
감사
CG
을 얻을하는 방법을 잘 할 수
문자가 유일한 부분 ~까지 관리하다 비 숫자 부분 밖으로 ULL는 aa
전에 표시 z
를 (또는 단순히 미코 Wilkman 제안 것처럼 별도의 필드에 저장), 당신이 원하는, 당신은 사용할 수 있습니다
SELECT non_numeric_id FROM table
ORDER BY length(non_numeric_id), non_numeric_id
편집
아이디어는 먼저, 모든 숫자를 제거하는 것입니다
SELECT
id,
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
id,
'1',''),'2',''),'3',''),'4',''),'5',''),'6',''),'7',''),'8',''),'9',''),'0','')
AS clean_id
FROM table
ORDER BY length(clean_id), clean_id
: OK, 열 이름이 id
입니다 가정의 숫자가 아닌 ID를 꺼내,이 오히려 추한 솔루션을 사용할 수 있습니다 길이에 따라 순서를 정한 다음 알파벳순으로 정렬하십시오.
다음 시퀀스는 무엇입니까 ?? '04202011aaa1' ~'04202011zzz1' 또는 '04202011b1' ~'04202011z1' 질문을 명확히하십시오 – diEcho
그냥 별도의 필드로 저장하는 것이 어떻습니까? –
시퀀스가 처음 한 글자 (a ~ z)를 사용하고 2 글자 (aa ~ zz)로 증가한 다음 3, 4 5 등으로 증가합니다. 일별 제출 수에 따라 증가합니다. – charlymz