SQLite Window函数未在Google Colab Notebook中运行

普拉泰克

当我尝试在Google Colab中运行以下代码时:

    #Get required Data
    data8 = pd.read_sql_query('''SELECT  Person.Name, Person.Gender
    FROM M_Cast left JOIN Person USING (PID)
    WHERE PID NOT IN
    (
    SELECT DISTINCT(PID) as PID
    FROM
        (
        SELECT *, LEAD(M_year, 1, 0) OVER (PARTITION BY Actor ORDER BY M_year ASC) AS N_Year
        FROM
            (
            SELECT trim(person.PID) as PID, trim(Person.Name) as Actor, substr(Movie.year,length(Movie.year)-3,4) as M_Year
            FROM Person
            LEFT JOIN M_Cast USING (PID)
            LEFT JOIN Movie USING (MID)
            )
        )
    WHERE (N_Year-M_Year)>3
    )''',con)

print('Output 8: Following is the list of actors never unemployed more than 3 years.(Included actors having single movie):\n')
data8

Colab向我抛出错误DatabaseError:在sql上执行失败:“(”附近:语法错误

当它在我的jupyter笔记本上运行良好时

科拉科特

Colab中的默认sqlite版本为3.22,但3.25+支持窗口功能。所以你需要先升级

!add-apt-repository -y ppa:sergey-dryabzhinsky/packages
!apt update
!apt install sqlite3

然后重新启动运行时,因为之前已经加载了sqlite。

MENU > Runtime > Restart runtime

然后检查它是否是新版本

import sqlite3
print(sqlite3.sqlite_version) # 3.33.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章