[英]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 > ...
有人可以告訴我我的錯誤,或者給我一個替代方法來處理列的總和。 先感謝您。
公用表表達式(又名CTE
或With
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.