Azure 2016 --我很难用语法将TOP、MAX和DATALENGTH结合起来,从特定字段的DATALENGTH表中获得前50条记录的列表。
我需要对其执行DATALENGTH的字段称为Text。我不希望返回结果中的Text字段--我想返回的是来自Text字段中最大的DATALENGTH的50条记录中的CaptureId和TaskSourceId字段,以及DATALENGTH数量。
我尝试过这样做,但是它没有工作,因为CaptureId没有包含在聚合函数或GROUP子句中。
SELECT TOP 50
CaptureId,
TaskSourceId,
MAX(DATALENGTH([Text]))
FROM
Data.Capture有人能帮我纠正这个问题吗?
发布于 2018-09-07 22:24:42
你不需要max。只需对记录排序:
select top 50
captureid, tasksourceid, datalength(text) as text_len
from data.capture
order by datalength(text) desc这将不关心领带和返回多达50行。
如果您想说明关于文本字段数据长度的关系,请使用top 50 with ties而不是简单的top 50。在这种情况下,它可能返回50多条记录。
https://stackoverflow.com/questions/52230249
复制相似问题