2013-06-28 65 views
1

我在表tapes中有一列叫做tape_name。 我想构建所有不同的前缀被计数的select语句,即计算不同的前缀

SELECT COUNT(TAPE_NAME) 
    FROM TAPES 
    WHERE TAPE_NAME LIKE DISTINCT SUBSTRING(TAPE_NAME,1,3) 

如果这些都是磁带名列行:

DBZ000 
DBZ001 
AGT546 
AGT432 

然后,我希望它产生:

DBZ 2 
AGT 2 

如果该解决方案可能适用于DB2,那就太棒了。

回答

5
select substr(TAPE_NAME,1,3), count(*) 
from tapes 
group by substr(TAPE_NAME,1,3) 
+0

巧合的是,我今天早些时候做了同样的事情,检查表名前缀。 – WarrenT