我想知道是否可以根据输出的大小(kb)将记录数限制为查询的输出。特别是,在我的数据库中有一个表可以包含长描述。使用例如LIMIT 0,15,十五条记录可能有一个巨大的描述或一个简单的描述,但我希望收到固定数量的数据(自动递增或减少记录数) 是否还有其他限制输出的指令?
另一种选择是获取字符数,对它们求和,设置限制并使用原始查询执行连接。但我认为这不是最好的方式..
答案 0 :(得分:0)
您可以通过跟踪变量中的长度然后在超过某个阈值时停止来执行此操作:
select descr
from (select descr, @size := @size + length(descr) as size
from table t cross join
(select @size := 0) const
) t
where size <= 100000;
您对每条记录的长度定义可能更为复杂,但这应该会让您有所了解。