繁体   English   中英

SQLite是否支持公用表表达式?

[英]Does SQLite support common table expressions?

SQLite是否支持公用表表达式?

我想运行这样的查询:

with temp (ID, Path) 
as (
  select ID, Path from Messages
) select * from temp

从Sqlite版本3.8.3开始,SQLite支持公用表表达式。

更改日志

说明

另一种解决方案是在您的应用程序中集成“CTE到SQLite”转换层:

“用w作为(y)z”=>“创建临时视图w为y; z”

“用w(x)作为(y)z”=>“创建临时表w(x);插入到wy; z”

作为一个(丑陋,缺乏,但有效)的例子: http ://nbviewer.ipython.org/github/stonebig/baresql/blob/master/examples/baresql_with_cte_code_included.ipynb

SQLite不支持CTE,窗口函数或任何类似的东西。 但是,您可以使用sqlite_create_function()通过SQLite API将它们注册到数据库中来编写您可以在SQLite中调用的自己的用户函数。 您可以在数据库中注册它们,然后可以在自己的应用程序代码中使用它们。 您可以创建一个聚合函数,该函数将根据各个列值执行一系列平均值的总和。 对于每个值,调用步骤类型回调函数,该函数允许您对数据执行某些计算,并且还可以使用用于保存状态数据的指针。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM