繁体   English   中英

计算 SQL Server 中值的最大长度

[英]Count maximum length of value in SQL Server

这是我的salesDetail表及其[Kind of business]列的小样本:

kind of business
-------------------------------------
Retail and food services sales, total ………………………………………...…………………………………………………………………………………………………

Total (excl. motor vehicle and parts dealers) ………………………………………...…………………………………………………………………………………………………

我想用空格分隔所有数据,然后计算分隔字符串的最大长度。 我试过这段代码

SELECT MAX(LEN(value))
FROM salesDetail
CROSS APPLY STRING_SPLIT([kind of business], ' ')
GROUP BY value

这将返回单个字符串的长度,而不是所有字符串的最大值。

结果显示在下面的屏幕截图中。

所以我尝试了这段代码:

SELECT MAX(COUNT(value))
FROM salesDetail
CROSS APPLY STRING_SPLIT([kind of business], ' ')
GROUP BY value

这会引发错误:

无法对包含聚合或子查询的表达式执行聚合函数。

预期输出:

147    (this is maximum number in this column)

我想要结果中的最大值,如图所示

我应该如何解决这个问题?

在此处输入图像描述

只需删除最后的GROUP BY

select max(len(value)) max_len
from salesDetail 
CROSS APPLY STRING_SPLIT([kind of business], ' ')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM