当前位置: 首页 > 面试题库 >

MySQL LIMIT子句等效于SQL SERVER

边浩波
2023-03-14
问题内容

我一直在大量阅读有关SQL SERVER
LIMIT子句的替代方法。太令人沮丧了,他们仍然拒绝适应它。无论如何,我真的没办法解决这个问题。我要转换的查询是这样的…

SELECT ID, Name, Price, Image FROM Products ORDER BY ID ASC LIMIT $start_from, $items_on_page

任何帮助将不胜感激,谢谢。


问题答案:

在SQL Server 2012中,支持ANSI标准OFFSET/
FETCH语法。我在博客上发表了这篇文章,这是官方文档(这是的扩展ORDER BY)。为SQL Server
2012转换的语法为:

SELECT ID, Name, Price, Image 
  FROM Products 
  ORDER BY ID ASC 
  OFFSET (@start_from - 1) ROWS -- not sure if you need -1
    -- because I don't know how you calculated @start_from
  FETCH NEXT @items_on_page ROWS ONLY;

在此之前,您需要使用各种解决方法,包括ROW_NUMBER()方法。请参阅本文和后续讨论。如果您不在SQL
Server 2012上,则不能使用标准语法或MySQL的非标准语法,LIMIT但可以使用更详细的解决方案,例如:

;WITH o AS
(
    SELECT TOP ((@start_from - 1) + @items_on_page)
         -- again, not sure if you need -1 because I 
         -- don't know how you calculated @start_from
      RowNum = ROW_NUMBER() OVER (ORDER BY ID ASC)
      /* , other columns */
    FROM Products
)
SELECT 
    RowNum
    /* , other columns */
FROM
    o
WHERE
    RowNum >= @start_from
ORDER BY
    RowNum;

还有很多其他方法可以为这只猫蒙皮,这可能不是最有效的方法,但是从语法角度来说可能是最简单的方法。我建议查看我发布的链接以及对该问题的评论中指出的重复建议。



 类似资料:
  • 本文向大家介绍MySQL LIMIT子句是否等效于SQL SERVER?,包括了MySQL LIMIT子句是否等效于SQL SERVER?的使用技巧和注意事项,需要的朋友参考一下 首先,我们需要创建一个表来了解limit子句(对于SQL Server来说是我们想要的)。我们将在CREATE命令的帮助下创建一个表。 建立表格 之后,让我们将记录插入表中- 在SELECT语句的帮助下显示所有记录- 以

  • 问题内容: 我可以在C#中做到这一点: 例如在Java中 我如何查询这样的ArrayList?谢谢。 问题答案: Java 8引入了Stream API ,该API允许与Linq中的构造类似的构造。 例如,您的查询可以表示为: 如果存在默认值,您显然需要锻炼,在这种情况下,这似乎很奇怪,但是我已经展示了它,因为这就是您问题中的代码所做的。

  • 问题内容: 我是MySql的新手,所以请保持谦虚。 Oracle 中的子句或MySQL中的SQL Server中的表是否等效?我想做的是以下几点: 从表A删除一组行 将已删除的行集插入表B。 请帮忙! 谢谢 问题答案: 不幸的是,您不能在 一个查询中 同时进行插入和删除 操作 ,但是如果您使用的是事务存储引擎(例如InnoDB),则可以在一个 事务中 完成所有操作。此外,它受Oracle和Post

  • 似乎 WITH 仅在 Sybase SQL Anywhere 中受支持:http://dcx.sybase.com/1100/en/dbusage_en11/commontblexpr-s-5414852.html …但不在Sybase ASE中:( 有人可以建议Sybase ASE中是否存在等效的构造吗?还有其他方法可以实现东西而不是使用 WITH,但我们计划重新调整一些动态生成的 SQL 的用

  • 问题内容: 有什么方法可以在CSS中使用条件语句? 问题答案: 否。但是您能举例说明您的想法吗?您要检查什么 状况 ? 也许Sass或Compass对您来说很有趣。 引用萨斯的话: Sass使CSS再次变得有趣。Sass是CSS,加上嵌套的规则,变量,mixin等,所有内容都以简洁易懂的语法表示。

  • 问题内容: 标签列具有“苹果香蕉橙”和“草莓香蕉柠檬”之类的值。我想找到等效的SQLAlchemy语句 我应该怎么做才能做到这一点? 问题答案: 每列都有一个方法,可以在中使用。给定一个搜索字符串,请在任一侧添加一个字符以在两个方向上作为子字符串进行搜索。