我創建了以下查詢:
WITH
cte1 AS(SELECT Sender trader, TokenAddress, TokenId, SUM(Price) price FROM OpenSeaTrade GROUP BY 1, 2, 3),
cte2 AS(SELECT Receiver trader, TokenAddress, TokenId, SUM(Price) price FROM OpenSeaTrade GROUP BY 1, 2, 3) SELECT trader,
cte2.price - cte1.price profit
FROM cte1
JOIN cte2 USING(trader, TokenAddress, TokenId)
WHERE cte2.price - cte1.price > 1000000000000000000
ORDER BY profit
LIMIT 5000
它在開發程序中作業,但在生產服務器(使用 MySQL 5.7)上測驗后,我收到以下錯誤:
您的 SQL 語法有錯誤;檢查與您的 MySQL 服務器版本相對應的手冊,以在第 2 行的“cte1 AS(SELECT Sender trader, TokenAddress, TokenId, SUM(Price) Price”附近使用正確的語法
我很難找出原因,任何幫助將不勝感激。
uj5u.com熱心網友回復:
這樣它將在 MySql 5.7 上運行:
SELECT trader, cte2.price - cte1.price profit
FROM (SELECT Sender trader, TokenAddress, TokenId, SUM(Price) price
FROM OpenSeaTrade
GROUP BY 1, 2, 3) AS cte1
JOIN (SELECT Receiver trader, TokenAddress, TokenId, SUM(Price) price
FROM OpenSeaTrade
GROUP BY 1, 2, 3) AS cte2 USING(trader, TokenAddress, TokenId)
WHERE cte2.price - cte1.price > 1000000000000000000
ORDER BY profit
LIMIT 5000;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/342402.html
