我的情况是我有一个非常小的 PostgresSQL
数据库(大约 10 个表,其中最大的有几千行),我想以单用户方式使用它应用程序,因此不得不安装整个服务器感觉不必要的繁重。所以,我想,好吧,SQLite
听起来很合适。
我移植了模式,导入了数据,然后我卡在了一个 View 上(实际上,它拥有的唯一 View )。我的问题是我正在使用非常方便的 dense_rank
函数。我读到这个:sqlite - Unsupported Sql Analytical Functions可以看到它不可用,但它提示我它可能在 SQLite::More 中但它似乎也不在那里。
那么,有人知道有什么方法可以使 dense_rank
函数在 SQLite 数据库内的 View 中可用吗?是否有我可以使用的另一个库?
最佳答案
您可以使用子查询模拟 DENSE_RANK
函数:
例子:
SELECT Products.Product,
DENSE_RANK() OVER (ORDER BY Products.Code DESC) AS Rank
FROM Products;
在 SQLite 中:
SELECT Product,
(SELECT COUNT()+1 FROM (
SELECT DISTINCT Code FROM Products AS t WHERE Code < Products.Code)
) AS Rank
FROM Products;
关于sqlite - dense_rank 和 sqlite - 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18816626/