下面是我的疑问。
select * from data where value = "yes";
我的ID是自动递增的,下面是给定查询的结果。
id || value
1 || yes
3 || yes
4 || yes
6 || yes
9 || yes
如何在sqlite中使用ROW_NUMBER?这样我就可以得到下面给出的结果。
NoId || value
1 || yes
2 || yes
3 || yes
4 || yes
5 || yes
行号为编号
6条答案
按热度按时间w8ntj3qf1#
SQLite Release 3.25.0将添加窗口函数支持
2018年9月15日(3月25日)
1.添加对窗口函数的支持
Window Functions:
窗口函数是一种特殊的SQL函数,其中的输入值取自SELECT语句结果集中一行或多行的“窗口”。
SQLite支持以下11个内置窗口函数:
行号()
当前分区中的行号。行从1开始按窗口定义中ORDER BY子句定义的顺序编号,否则按任意顺序编号。
因此,您的查询可以重写为:
一个月一次
r8xiu3jd2#
尝试以下查询
小提琴
mqxuamgl3#
我用fiddleanswer作了一些修改,得到了完全符合预期的结果
ttvkxqim4#
更新:sqlite3 3.25版现在支持窗口函数,包括:
row_number()超过(按标识排序)
SQLITE3 Documentation
wz8daaqr5#
ROW_NUMBER()
窗口函数可以在“NULL”顺序上执行,如下所示:e37o9pze6#