【问题标题】:MYSQL Select row_number() doesn't work [duplicate]MYSQL Select row_number() 不起作用[重复]
【发布时间】:2016-02-26 18:22:51
【问题描述】:

我试图在按日期排序时获得第 5 到 10 行,但由于某种原因,我总是以这个 sql 错误结束:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 near '(ORDER BY CreatedDate) AS Row, GameID, UserID, Title, 说明,第 1 行的 CreatedDate F'

这是我尝试使用的查询:

SELECT ROW_NUMBER() OVER (ORDER BY CreatedDate) AS Row, GameID, UserID, Title, Description, CreatedDate
FROM game
WHERE Row >= 5 AND Row <= 10

有人知道我在这里到底做错了什么吗?或者更好的方法来解决这个问题?

感谢阅读/帮助

【问题讨论】:

  • mysql 没有 row_number 聚合函数。您可以为此使用 mysql 变量

标签: mysql sql


【解决方案1】:

MySQL 中没有 rownumber() 函数。这是你能得到的最接近的:

SELECT 
    @i:=@i+1 AS rank, 
    t.*
FROM 
    tblname AS t,
    (SELECT @i:=0) AS R

【讨论】:

  • 这似乎有效,但是当我尝试 WHERE rank = 1 时,它最终再次崩溃
猜你喜欢
  • 2021-03-03
  • 2021-01-06
  • 1970-01-01
  • 1970-01-01
  • 2019-09-13
  • 2018-04-02
  • 2013-09-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多