SQL Server中字段的DATALENGTH的前50条记录

时间:2018-09-07 22:19:54

标签: sql-server sql-limit

Azure SQL Server 2016-我在合并$proxiesX-Forwarded-Proto: http Cf-Visitor: {"scheme":"https"} Referer: https://xx.xx/someurl TOP的语法时遇到麻烦,{{{ 1}}。

我需要对MAX进行操作的字段称为DATALENGTH。我实际上要在结果中返回DATALENGTH字段-我要返回的是50个记录中最大的记录中的DATALENGTHText字段Text字段中的CaptureId以及TaskSourceId的金额。

我尝试了此操作,但没有成功,并且错误消息CaptureId没有包含在聚合函数或GROUP BY子句中。

DATALENGTH

有人可以帮助我更正此查询吗?

1 个答案:

答案 0 :(得分:2)

您不需要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条以上的记录。