2012-12-17 1 views
0

나는 긴 목록의 대학이 있으며 문제가되지 않는 첫 글자로 그룹화하려고합니다. 하지만 예를 들어 숫자와 통계 대학 이름이mySQL GROUP BY 첫 글자 및 숫자 0-9

14 Stars (London) Ltd t/a EUROPEAN COLLEGE FOR HIGHER EDUCATION (London) 
3 D MORDEN COLLEGE 

나는 하나 개의 범주에서 숫자로 시작하는 모든 이름을 넣고 싶다 "0-9"

+1

는 u는 u는 시도 것을 보여줄 수있는 솔루션입니다? –

+0

그러면 예상되는 결과는 무엇입니까? –

답변

0
당신은 쿼리에 이것을 사용

WHERE title NOT RLIKE '^[A-Z]'  //this checks if first letter not from a-z 

당신은 내가 당신을 생각

CASE title NOT RLIKE '^[A-Z]' then ........ END 
    CASE title RLIKE '^[A-Z]'  then ........ END 
+0

시도한 것을 공유하지 않았으므로이 코드를 쿼리에 사용하십시오. –

1

당신의 SQL에 CASE을 사용할 수 있습니다 다음과 같은 것이 필요합니다.

select 
    case when name rlike '^[0-9]' then '0-9' else left(name,1) end as first_letter 
    count(*) 
from univ 
group by first_letter 
0

죄송합니다. 귀하의 도움에 많은 시간을드립니다. 내 친구는 어제 나에게 도움이와 나는 여기에 내 문제를 밖으로 정렬

SELECT IF(substr(registered_name,1,1)REGEXP '^[0-9]','0-9',substr(registered_name,1,1)) Category,
...//rest of my query
GROUP BY Category