2011-11-18 74 views
4

我正在使用Oracle,我有一個1000行的表。有一個姓氏字段和如何獲取數據庫行中字符串唯一長度的計數?

我想知道名稱字段的長度,但我不希望它爲每一行。我想要計算各種長度。

實施例:

名字:

smith 
smith 
Johnson 
Johnson 
Jackson 
Baggins 

有五個2個鐵匠長度。其他四人,長度七人。我希望我的查詢返回

7 
5 

如果有1,000個名稱,我希望得到各種長度。

我試過,

Select count(*) as total, lastname from myNames group by total 

它不知道什麼是總。按姓氏對每個單獨名稱進行分組,除非它是不同的姓氏,這是預期的,但不是我所需要的。

這可以在一個SQL查詢中完成嗎?

+0

你確定你不想讓不同的長度和他們的數量,比如'7 | 4 | 2'? – hochl

回答

5
SELECT Length(lastname) 
FROM MyTable 
GROUP BY Length(lastname) 
+0

我想他想要長度相同的姓氏的數量,所以可能會在查詢中添加一個「count(*)」字段。 – hochl

+0

這不起作用(但是謝謝你)。它只支持1000的計數,然後一個長度,一個返回的行。我知道我有各種各樣的長度。 – johnny

+0

嘆了口氣。愚蠢的我。我不得不使用修剪,否則我恢復了所有記錄。 – johnny

6
select distinct(LENGTH(lastname)) from mynames; 
+0

它只返回一行。也許我需要再次檢查我的數據。 – johnny

相關問題