Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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
Sql 向查询结果添加自动增量列_Sql_Sqlite - Fatal编程技术网

Sql 向查询结果添加自动增量列

Sql 向查询结果添加自动增量列,sql,sqlite,Sql,Sqlite,如果不创建带有自动递增列的临时表,如何向查询结果添加自动递增字段?比如说, SELECT ???, * FROM MyTable 应导致: 1|* 2|* 3|* 我想你是在找行号。试着这样做: SELECT (SELECT COUNT(0) FROM supportContacts t1 WHERE t1.id <= t2.id ) AS 'Row Number', * FROM supportContacts t2 ORDER

如果不创建带有自动递增列的临时表,如何向查询结果添加自动递增字段?比如说,

SELECT ???, * FROM MyTable
应导致:

1|*
2|*
3|*

我想你是在找行号。试着这样做:

SELECT (SELECT COUNT(0) 
        FROM supportContacts t1 
        WHERE t1.id <= t2.id 
        ) AS 'Row Number', * FROM supportContacts t2 ORDER BY id; 
结果:

╔════════════╦════╦═════════╦═════════════════════╗
║ Row Number ║ id ║  type   ║       details       ║
╠════════════╬════╬═════════╬═════════════════════╣
║          1 ║  1 ║ Email   ║ admin@sqlfiddle.com ║
║          2 ║  2 ║ Twitter ║ @sqlfiddle          ║
╚════════════╩════╩═════════╩═════════════════════╝

如果查询结果不按
id
列排序(通常没有这样的列),或者某些记录被过滤掉,或者如果查询结果中重复了具有
id
列的表的某些记录,则这不起作用。()@CL.-实际上,您还必须在子查询中给出条件(例如,
where类型,如“%t%”
)。(请参阅)您需要autoincrement列做什么?作为进入网格的索引,该网格使用索引键获取查询结果的子集。目前,我最终得到了一个带有自动递增值的临时表——但它感觉很粗糙。从哪里获取?从数据库,还是从存储在网格中的数据?
╔════════════╦════╦═════════╦═════════════════════╗
║ Row Number ║ id ║  type   ║       details       ║
╠════════════╬════╬═════════╬═════════════════════╣
║          1 ║  1 ║ Email   ║ admin@sqlfiddle.com ║
║          2 ║  2 ║ Twitter ║ @sqlfiddle          ║
╚════════════╩════╩═════════╩═════════════════════╝