簡體   English   中英

MySQL 上的 WITH 語句語法錯誤 1064

[英]WITH statement on MySQL syntax error 1064

我正在嘗試使用 WITH 語句,以便稍后可以使用 2 列的總和,但我一直受到ERROR 1064 (42000) 的影響:您的 SQL 語法有錯誤

我擺弄了使用該語句的不同方式但沒有成功,所以我開始認為這可能是因為我的 MySQL 版本(選擇@@version 說它的'5.7.38-0ubuntu0.18.04.1')。

我的命令:

WITH timings AS (
SELECT id, timestart, timestart+timeduration AS timeend FROM events WHERE userid = 1000
)
SELECT * FROM timings WHERE timeend > ...

有人可以告訴我我的錯誤,或者給我一個替代方法來處理列的總和。 先感謝您。

公用表表達式(又名CTEWith s)在 Mysql 8 中引入。所以是的,您要么更新數據庫引擎(我建議這樣做),要么將 CTE 重寫為子查詢:

SELECT 
    * 
FROM (
    SELECT 
        id, 
        timestart, 
        timestart+timeduration AS timeend 
    FROM events 
    WHERE userid = 1000
) timings 
WHERE timeend > ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM