我正在使用sqlite的db浏览器。如果sqlite是问题所在,请随意推荐另一个使用sql的免费gui或软件。
我需要从percent\u rank()函数中获取值,并在以后的计算中使用它们。这可以通过将这些值导出到新表或将它们附加到现有表(首选)来完成。我认为不可能引用这些计算列。我不能直接填充这些列,因为update set函数不能与percent\u rank()函数一起使用。
基于这个问题,我尝试了以下代码。该代码用于显示计算值(loan\u def\u rank),但原始数据未被修改。
SELECT a.entity_uuid,
a.name,
b.Loan_def_Rank
FROM data as a INNER JOIN
(SELECT entity_uuid,
percent_rank() OVER (PARTITION BY college_type ORDER BY loan_def_rate DESC)
AS Loan_def_Rank,
FROM data GROUP BY entity_uuid) as b
ON a.entity_uuid = b.entity_uuid;
1条答案
按热度按时间pdsfdshx1#
不应存储此派生信息。我建议改用视图:
该视图包含原始表的所有列,以及另一个包含计算值的列。您可以像查询表一样查询视图。
这样做的好处是,您可以随时了解数据的最新情况,而无需任何维护成本(而不是实际存储数据,这需要您手动保持数据的最新状态)。