2009-11-10 82 views
1

我有一个问题。我在t_data表中有一个accttype(varchar)字段。我在这个领域有不同长度的acct数字。像少数是15位数字,少数是13位数字。我只想知道有多少人有13位数字的交流编号,有多少位有15位数的交流编号并单独列出。sql服务器问题

可以任何一个写的sql查询为。请。这很紧急。

回答

2

对于列表

SELECT LEN(accttype), COUNT(*) 
FROM T_DATA 
GROUP BY LEN(accttype) 
ORDER BY 1 

,并seperatly一一列举了13

SELECT accttype 
FROM T_DATA 
WHERE LEN(accttype) = 13 

和for 15

SELECT accttype 
FROM T_DATA 
WHERE LEN(accttype) = 15 
+0

LEN()是SQL Server(我想)。 Oracle函数是LENGTH() – 2009-11-10 10:12:15

+0

不错的地方......不断弄清楚两者之间的语法... – kevchadders 2009-11-10 10:27:11

1

这是SQL Server语法,但应该是大致相同的Oracle:

select len(accttype), count(*) 
from t_data 
group by len(accttype) 
order by 1