【问题标题】:Convert MSSQL paging statement to MySQL paging statement将 MSSQL 分页语句转换为 MySQL 分页语句
【发布时间】:2013-12-01 09:27:37
【问题描述】:

我希望将基本的分页 MSSQL 语句转换为 MySQL。 特别是 ROW_NUMBER() 和 OVER 结合 ORDER BY 对我来说很棘手。

SELECT * FROM (select ROW_NUMBER() OVER (ORDER BY publishdate DESC) as RowNum,
* FROM news WHERE publishdate <=getdate()) as info
WHERE RowNum > 0 AND RowNum <= (100)

如何将其转换为 MySQL 语句?

【问题讨论】:

    标签: mysql sql-server pagination migration


    【解决方案1】:

    试试LIMIT这样的语法:

    select * 
    FROM news WHERE publishdate <= CURDATE()
    LIMIT 0,100; # Retrieve rows 1-100
    

    LIMIT 子句可用于限制 SELECT 语句返回的行数。 LIMIT 接受一个或两个数字参数,它们都必须是非负整数常量(使用准备好的语句时除外)。

    有两个参数,第一个参数指定要返回的第一行的偏移量,第二个参数指定要返回的最大行数。初始行的偏移量为0(不是1):

    SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多