Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/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
用于为结果添加索引的sqlite查询_Sqlite - Fatal编程技术网

用于为结果添加索引的sqlite查询

用于为结果添加索引的sqlite查询,sqlite,Sqlite,我有一个包含两个参数的表:组id和名称 CREATE TABLE inf_table (group_id INTEGER NOT NULL, name TEXT NOT NULL); INSERT INTO inf_table(group_id, name) values (1,'AA'); INSERT INTO inf_table(group_id, name) values (1,'BB'); INSERT INTO inf_table(group_id, name) values

我有一个包含两个参数的表:组id和名称

CREATE TABLE inf_table (group_id INTEGER NOT NULL, name TEXT NOT NULL);
INSERT INTO  inf_table(group_id, name) values (1,'AA');
INSERT INTO  inf_table(group_id, name) values (1,'BB');
INSERT INTO  inf_table(group_id, name) values (1,'AB');
INSERT INTO  inf_table(group_id, name) values (2,'AA');
INSERT INTO  inf_table(group_id, name) values (2,'BA');
INSERT INTO  inf_table(group_id, name) values (2,'AB');
INSERT INTO  inf_table(group_id, name) values (2,'BB');
我运行了一个查询,按组id然后按名称对结果排序。按组id、名称从inf\u表顺序选择*; 得到:

但是,我想为每一行添加一个索引,以显示每个组中名称的索引:

1|1|AA
2|1|AB
3|1|BB
1|2|AA
2|2|AA
3|2|BA
4|2|BB
我怎么能


谢谢

您必须对同一组中的行进行计数,并且在当前名称之前有一个名称:

SELECT (SELECT COUNT(*)
        FROM inf_table AS inf2
        WHERE inf2.group_id = inf_table.group_id
          AND inf2.name    <= inf_table.name    ) AS "index",
       group_id,
       name
FROM inf_table
ORDER BY group_id,
         name
在程序中读取行时,对行进行计数可能更有效

SELECT (SELECT COUNT(*)
        FROM inf_table AS inf2
        WHERE inf2.group_id = inf_table.group_id
          AND inf2.name    <= inf_table.name    ) AS "index",
       group_id,
       name
FROM inf_table
ORDER BY group_id,
         name