Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从results-SQLite中的条目中获取行号?_Sql_Sqlite - Fatal编程技术网

如何从results-SQLite中的条目中获取行号?

如何从results-SQLite中的条目中获取行号?,sql,sqlite,Sql,Sqlite,在SQLite中,如何获取特定结果的行号 考虑我的数据如下 Username UserLevel James 23 Tim 24 John 22 我想返回的是声明中所述人员所在的位置。即 Select * from users where Username='John' (+ SOME LOGIC); 返回 3 谢谢 您可以使用ROW_NUMBER()。行数是在运行查询时计算的临时值如何计算?选

在SQLite中,如何获取特定结果的行号

考虑我的数据如下

Username          UserLevel
 James            23
 Tim              24
 John             22
我想返回的是声明中所述人员所在的位置。即

Select * from users where Username='John' (+ SOME LOGIC);
返回

3

谢谢

您可以使用ROW_NUMBER()。行数是在运行查询时计算的临时值

如何计算?选择行号?必须在子查询中。例如你的情况;选择*from(选择Username,UserLevel,ROW_NUMBER()OVER(按用户名排序)作为rowname)作为x,其中x.Username='John'示例数据中有两个用户'John'。那么为什么它会返回3?为什么不是1号?@Dinocodersaurs-抓得好。注定只是1@DotSlashShellsqlite从3.25开始就有了窗口函数。您是否有什么原因希望使用行号而不是检索条目的主键?@Powerlord-返回用户的“排名”-本质上是一种高分类型的ordealSQL表表示无序集。除非使用显式的order by,否则不会对行进行排序。