【发布时间】:2017-04-28 22:46:14
【问题描述】:
我的表是这样创建的:
create table ##temp2(min_col1_value varchar (100))
create table ##temp1(max_col1_value varchar (100))
该表的值如下:
min_col1_value
-------------------
1
0
10
1
我正在尝试获取“最小长度值的频率计数”并期望结果为 3。
另一个最大值的例子是:
max_col1_value
-------------------
1000
1234
10
1111
123
2345
我正在尝试获取“最大长度值的频率计数”并期望结果为 4。
当我运行这个查询时:
select count(min(len(convert(int,min_col1_value)))) from ##temp2 group
by min_col1_value
select count(max(len(convert(int,max_col1_value)))) from ##temp1 group by
max_col1_value
出现错误:无法对包含聚合或子查询的表达式执行聚合函数。
如何得到想要的结果?
【问题讨论】:
-
len(convert(int,min_col1_value))没有多大意义。你想要的结果是什么样的? -
我应该将计数设为 3(最小值)并计数为 4(最大值)。基本上想知道最小长度的字符重复了多少次。以及,在列中重复最大字符长度的次数。
标签: sql-server sql-server-2008