我的情况是我有一个PostgresSQL很小的数据库(大约10个表,最大的表是几千行),我想从单用户样式的应用程序中使用它,所以必须安装整个服务器会带来不必要的麻烦。所以,我想,SQLite听起来好像只是票。
我在架构上进行了移植,导入了数据,然后卡在了一个视图上(实际上,它是唯一的视图)。我的问题是我正在使用越来越方便的dense_rank功能。我读到以下内容:sqlite-不支持的Sql分析函数,可以看到它不可用,但提示我它可能在SQLite :: More中,但似乎也没有。
因此,有人知道我可以以何种方式dense_rank在SQLite数据库的视图中使用该功能吗?我是否可以使用另一个库?
您可以DENSE_RANK使用子查询来模拟功能:
例:
SELECT Products.Product,
DENSE_RANK() OVER (ORDER BY Products.Code DESC) AS Rank
FROM Products;
Run Code Online (Sandbox Code Playgroud)
在SQLite中:
SELECT Product,
(SELECT COUNT()+1 FROM (
SELECT DISTINCT Code FROM Products AS t WHERE Code < Products.Code)
) AS Rank
FROM Products;
Run Code Online (Sandbox Code Playgroud)