Mysql 无法与10.1.34-1中的AS一起使用

Mysql 无法与10.1.34-1中的AS一起使用,mysql,sql,mariadb,Mysql,Sql,Mariadb,我无法在MariaDB中使用AS。我没有发现任何文档表明此版本的MariaDB中没有使用AS。下面是我尝试复制的示例查询: WITH service_audit AS ( SELECT id AS service_id , revision_from AS revision_from , revision_until AS revision_until FROM audit W

我无法在MariaDB中使用AS。我没有发现任何文档表明此版本的MariaDB中没有使用AS。下面是我尝试复制的示例查询:

WITH service_audit AS (
    SELECT
      id                    AS service_id
    , revision_from         AS revision_from
    , revision_until        AS revision_until
    FROM audit
    WHERE
    (   revision_from >= '2019-04-01 00:00:00'
        AND revision_from< '2019-09-30 23:59:59'
    )
    ORDER BY
      id, revision_from, revision_until
)
SELECT
    service_id
    revision_from,
    revision_until,
    LAG(service_id, 1) OVER (PARTITION BY service_id ORDER BY service_id, revision_from, revision_until) service_id_lag
FROM
    service_audit;
MariaDB 10.2.1中介绍了带有的通用表表达式


(从字面上看,我在谷歌上的第一个搜索结果是“mariadb with”)

在这个查询中不需要CTE,您只需将其转换为一个简单的
选择即可:

SELECT
    id service_id
    revision_from,
    revision_until,
    LAG(service_id, 1) OVER (
        PARTITION BY service_id ORDER BY service_id, revision_from, revision_until
    ) service_id_lag
FROM audit
WHERE revision_from >= '2019-04-01 00:00:00' AND revision_from< '2019-09-30 23:59:59'
ORDER BY id, revision_from, revision_until
选择
id服务\u id
修订自,
修订(直至),
滞后(服务id,1)超过(
按服务id划分按服务id、版本号从、版本号到
)服务id滞后
来自审计
其中版本号>='2019-04-01 00:00:00'和版本号>'2019-09-30 23:59:59'
按id、版本号从、版本号直到订购

并非所有版本的MariaDB都支持CTE。您使用的是什么版本?我现在结束这个问题,因为我的Mariadb版本不支持with和lag。我尝试了这个,但不起作用。我得到以下错误:您的SQL语法有错误;查看与您的MariaDB服务器版本相对应的手册,以了解使用near(按服务划分\u id按服务顺序\u id,修订日期,修订日期)的正确语法st'MariaDB 10.1不支持LAG。@PuneetSidhu:啊,好的,看来这个版本的MariaDB也不支持窗口功能(例如
LAG()
)。。。
SELECT
    id service_id
    revision_from,
    revision_until,
    LAG(service_id, 1) OVER (
        PARTITION BY service_id ORDER BY service_id, revision_from, revision_until
    ) service_id_lag
FROM audit
WHERE revision_from >= '2019-04-01 00:00:00' AND revision_from< '2019-09-30 23:59:59'
ORDER BY id, revision_from, revision_until