Azure SQL Server 2016-我在组合语法方面遇到问题 TOP MAX 和 DATALENGTH 从表中获取前50条记录的列表 一个特定的领域。
TOP
MAX
DATALENGTH
我需要的领域 打开被调用 Text . 我 不要 你真的想要 结果中返回的字段-我想要返回的是调用 CaptureId 和 TaskSourceId 从50个最大的 在 以及 数据长度 数量。
Text
CaptureId
TaskSourceId
数据长度
我尝试了这个方法,但是没有成功,错误是CaptureId没有包含在聚合函数或groupby子句中。
SELECT TOP 50 CaptureId, TaskSourceId, MAX(DATALENGTH([Text])) FROM Data.Capture
有人能帮我纠正这个问题吗?
你不需要 max . 把记录整理一下:
max
select top 50 captureid, tasksourceid, datalength(text) as text_len from data.capture order by datalength(text) desc
如果要考虑与文本字段数据长度相关的关系,请使用 top 50 with ties 而不是简单的 top 50 . 在这种情况下,它可能返回50多条记录。
top 50 with ties
top 50