gpt4 book ai didi

sqlite - 得到的行范围平均使用偏移和限制?

转载 作者:行者123 更新时间:2023-12-03 18:48:16 25 4
gpt4 key购买 nike

我有一张约有1000行的表。
我想查询从第0行到第79行的“事物”列上的平均值。

我执行以下操作:

SELECT AVG("Things") FROM "MyTable" LIMIT 80 OFFSET 0


一开始它看起来很有效,我得到了一个电话。

然后我试图运行此查询只是为了测试事情:

SELECT AVG("Things") FROM "MyTable" LIMIT 80 OFFSET 10


我什么也没回来无论我输入偏移量中的任何数字,除非我使用零(...偏移量0),否则我什么也得不到。

我不确定为什么会这样。任何想法?

最佳答案

OFFSET / LIMIT子句适用于查询的结果行。使用“ LIMIT 80”表示您希望返回的行数不超过80。

AVG()仅返回一行,因此LIMIT子句无效。

要在应用AVG()之前过滤行,您需要使用WHERE或子查询。
请注意,除非您使用ORDER BY,否则无法保证行的顺序,因此在使用LIMIT时应始终使用ORDER BY:

SELECT AVG(Things)
FROM (SELECT Things
FROM MyTable
ORDER BY ...
LIMIT 80 OFFSET ...);

关于sqlite - 得到的行范围平均使用偏移和限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33047555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com