相关疑难解决方法(0)

在SQL Server中限制10..20

我正在尝试做类似的事情:

SELECT * FROM table LIMIT 10,20
Run Code Online (Sandbox Code Playgroud)

要么

SELECT * FROM table LIMIT 10 OFFSET 10
Run Code Online (Sandbox Code Playgroud)

但是使用SQL Server

我找到的唯一解决方案看起来像是矫枉过正:

SELECT * FROM ( 
  SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases 
 ) a WHERE row > 5 and row <= 10
Run Code Online (Sandbox Code Playgroud)

我还发现:

SELECT TOP 10 * FROM stuff; 
Run Code Online (Sandbox Code Playgroud)

...但这不是我想要做的,因为我无法指定起始限制.

我还有另一种方法吗?

另外,只是好奇,有没有一个理由为什么SQL Server不支持该LIMIT功能或类似的东西?我不想吝啬,但这听起来像DBMS需要的东西......如果确实如此,那么我很抱歉这么无知!我在过去的5年里一直在使用MySQL和SQL +所以......

sql sql-server pagination limit

158
推荐指数
7
解决办法
28万
查看次数

SQL Server中的行偏移量

SQL Server中是否有任何方法可以从给定的偏移量开始获取结果?例如,在另一种类型的SQL数据库中,可以执行以下操作:

SELECT * FROM MyTable OFFSET 50 LIMIT 25
Run Code Online (Sandbox Code Playgroud)

得到结果51-75.此构造似乎不存在于SQL Server中.

如何在不加载我不关心的所有行的情况下完成此操作?谢谢!

sql sql-server

127
推荐指数
7
解决办法
21万
查看次数

如何使用Microsoft SQL Server实现LIMIT?

我有这个查询与mysql:

select * from table1 LIMIT 10,20
Run Code Online (Sandbox Code Playgroud)

我怎么能用Microsoft sql做到这一点?

sql sql-server migration

120
推荐指数
9
解决办法
27万
查看次数

如何在纯SQL中编写LINQ的.Skip(1000).Take(100)?

.Skip()LINQ 中该方法的SQL等价物是什么?

例如:我想从特定的数据库表中选择行1000-1100.

这只能用SQL吗?或者我是否需要选择整个表,然后在内存中查找行?如果可能的话,我最好还是要避免这种情况,因为桌子可能非常大.

.net sql sql-server

92
推荐指数
4
解决办法
5万
查看次数

如何从T-SQL中的排序表中的行M开始获取N行

有一种简单的方法可以从任何表中获取前N行:

SELECT TOP 10 * FROM MyTable ORDER BY MyColumn
Run Code Online (Sandbox Code Playgroud)

有没有有效的方法从行N开始查询M行

例如,

Id Value
1    a
2    b
3    c
4    d
5    e
6    f
Run Code Online (Sandbox Code Playgroud)

并查询这样的

SELECT [3,2] * FROM MyTable ORDER BY MyColumn /* hypothetical syntax */
Run Code Online (Sandbox Code Playgroud)

查询从3d行开始的2行,即返回3d和第4行.

sql t-sql

64
推荐指数
5
解决办法
11万
查看次数

如何在SQL Server 2005中使用LIMIT关键字?

我找到了一种从这篇文章中的表中选择随机行的方法.建议是使用以下查询:

SELECT * FROM employee ORDER BY RAND() LIMIT 1
Run Code Online (Sandbox Code Playgroud)

但是当我在MS SQL 2005中运行此查询时,我收到以下错误消息

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'LIMIT'.
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我错在哪里?MS SQL不支持LIMIT吗?如果是这样,那我该怎么办呢?

sql sql-server sql-server-2005 limit

26
推荐指数
2
解决办法
5万
查看次数

SQL Server选择前10-20个结果?

我有两列第一个我想要十大产品(1-10)

那是

SELECT TOP 10 * FROM Product   
Run Code Online (Sandbox Code Playgroud)

在第二列中,我想要接下来的10个结果(11-20)

我怎么做?

sql sql-server

23
推荐指数
4
解决办法
9万
查看次数

SELECT SQL 1的ANSI SQL版本

是否有符合ANSI SQL的SQL SERVER版本SELECT TOP n

sql sql-server ansi-sql

13
推荐指数
1
解决办法
1万
查看次数

什么是SQL Server中mysql"LIMIT"子句的等效语法

SQL Server中MySQL"LIMIT"子句的等效语法是什么.我想用它来分页我的结果.(想要显示记录5到10)

sql-server paging limit

10
推荐指数
1
解决办法
1万
查看次数

MySQL LIMIT子句等效于SQL SERVER

我一直在阅读有关SQL SERVER的LIMIT子句替代方法的大量内容.令人沮丧的是,他们仍然拒绝改编它.无论如何,我真的无法理解这一点.我试图转换的查询是这个......

SELECT ID, Name, Price, Image FROM Products ORDER BY ID ASC LIMIT $start_from, $items_on_page
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助,谢谢.

mysql sql-server

4
推荐指数
1
解决办法
2万
查看次数

在表中显示前10个结果(SQL Server)

我需要能够显示具有前10个最高值(数量*价格)的项目.在MySQL中,您可以使用LIMIT,但这在SQL Server中是不可能的.我怎样才能实现目标?

提前致谢

SELECT ItemID, Itemname, Quantity, Price,
CONVERT(Decimal(8,0),ROUND((Quantity*price),2)) AS Total
FROM Item
Run Code Online (Sandbox Code Playgroud)

sql sql-server

0
推荐指数
1
解决办法
733
查看次数