SqLite 生成序号(查询结果加上序号)
SqLite 生成序号(查询结果加上序号)
表结构
| 字段名称 | 数据类型 | 说明(可选) |
|---|---|---|
| ID | INTEGER | 序号 |
| Name | TEXT(50) | 名称 |
| Amount | REAL | 数量 |
CREATE TABLE [tCeShi](
[ID] INTEGER,
[Name] TEXT(50),
[Amount] REAL);
表中数据
| ID | Name | Amount |
|---|---|---|
| 1 | 商品A | 30 |
| 2 | 商品B | 20 |
| 3 | 商品C | 10 |
实现按Amount列排序,生成序号列rowno,返回结果
| ID | Name | Amount | rowno |
|---|---|---|---|
| 3 | 商品C | 10 | 1 |
| 2 | 商品B | 20 | 2 |
| 1 | 商品A | 30 | 3 |
方式
1.row_number
select *, ROW_NUMBER() OVER(ORDER BY Amount) AS rowno from tCeShi
SQLite Release 3.25.0 中增加的窗口函数,可以使用
sqlite_version()函数查询SQLite版本
2.count
select *, (select count(*) from tCeShi b where a.Amount >= b.Amount) as rowno
from tCeShi a
参考文档
https://stackoverflow.com/questions/16847574/how-to-use-row-number-in-sqlite

浙公网安备 33010602011771号