任何人都可以告诉这个mysql代码有什么问题吗?

时间:2018-05-15 15:17:45

标签: mysql sql

SELECT 
    user_id, 
    unix_timestamp, 
    LAG(unix_timestamp,1) OVER (PARTITION BY user_id ORDER BY unix_timestamp) 
    As Previous_time
FROM mydb.query_one
LIMIT 5;
  

错误代码:1064。您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便使用正确的语法(#PARTITION BY user_id ORDER BY unix_timestamp)AS previous_time,RO'在第5行第0.056秒

1 个答案:

答案 0 :(得分:0)

MySQL仅支持从8.0版开始的窗口函数。相反,你可以这样做:

SELECT qo.user_id, qo.unix_timestamp, 
       (SELECT MAX(qo2.unix_timestamp) 
        FROM mydb.query_one qo2
        WHERE qo2.user_id = qo.user_id AND qo2.unix_timestamp < qo.unix_timestamp
       ) as Previous_time
FROM mydb.query_one
LIMIT 5;
相关问题