2012-10-26 65 views
0

我已經擁有像 Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; SGH-T989 Build/GINGERBREAD)Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us)以及一些其他的變化值的列SQL - 組由一個字符串的一部分

我怎麼做group by子句通過只考慮前幾個字符說Mozilla/5.0 (Linux; U; AndroidMozilla/5.0 (iPhone; U; CPU iPhone

有人可以請建議

+1

'regexp_substr' is y我們的朋友在這裏 –

+0

確定要分組哪些字符的算法是什麼?例如,你怎麼知道停止在'Android'而不是'2.3.6'上的組?或者停止在'CPU iPhone'而不是'OS 4_3_2'分組? –

+0

@Justin Cave我在想也許我可以計算一些字符數,通常在一定數量的字符後,我會打'android'或'iphone',這應該足夠了。 – user1207289

回答

0

您可以創建新的臨時表相同的列的表,只需要插入字符(串),然後執行在你創建的臨時表中(不要忘記在最後刪除臨時表):

CREATE TABLE #temp (
....more variables, same as in original table 
somevar varchar 
) 

insert into #temp 
select substr(originaltable.somevar,0,5) from originaltable 

select somevar from #temp 
group by somevar 

drop table #temp 
相關問題