gpt4 book ai didi

sql - 高效的SQL统计最近X行中的事件

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

例如,我有:

create table a (i int);


假设有1万行。

我想在最后20行中计数0。

就像是:

select count(*) from (select i from a limit 20) where i = 0;


有可能提高效率吗?像一条SQL语句之类的东西?

PS。如果根本重要的话,DB就是SQLite3 ...

更新

PPS。在这种情况下,无需按任何内容分组,假设该表的字面大小为1列(并且可能是内部数据库的row_ID或其他内容)。我很好奇,如果没有嵌套选择就可以做到这一点?

最佳答案

如果不从表中删除行,则可以尝试以下hacky查询:

SELECT COUNT(*) as cnt
FROM A
WHERE
ROWID > (SELECT MAX(ROWID)-20 FROM A)
AND i=0;


它仅适用于ROWID。正如 documentation所说:行以rowid顺序存储。

关于sql - 高效的SQL统计最近X行中的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2678441/

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