我正在尝试做类似的事情:
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 Server中是否有任何方法可以从给定的偏移量开始获取结果?例如,在另一种类型的SQL数据库中,可以执行以下操作:
SELECT * FROM MyTable OFFSET 50 LIMIT 25
Run Code Online (Sandbox Code Playgroud)
得到结果51-75.此构造似乎不存在于SQL Server中.
如何在不加载我不关心的所有行的情况下完成此操作?谢谢!
我有这个查询与mysql:
select * from table1 LIMIT 10,20
Run Code Online (Sandbox Code Playgroud)
我怎么能用Microsoft sql做到这一点?
.Skip()LINQ 中该方法的SQL等价物是什么?
例如:我想从特定的数据库表中选择行1000-1100.
这只能用SQL吗?或者我是否需要选择整个表,然后在内存中查找行?如果可能的话,我最好还是要避免这种情况,因为桌子可能非常大.
有一种简单的方法可以从任何表中获取前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行.
我找到了一种从这篇文章中的表中选择随机行的方法.建议是使用以下查询:
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吗?如果是这样,那我该怎么办呢?
我有两列第一个我想要十大产品(1-10)
那是
SELECT TOP 10 * FROM Product
Run Code Online (Sandbox Code Playgroud)
在第二列中,我想要接下来的10个结果(11-20)
我怎么做?
是否有符合ANSI SQL的SQL SERVER版本SELECT TOP n?
SQL Server中MySQL"LIMIT"子句的等效语法是什么.我想用它来分页我的结果.(想要显示记录5到10)
我一直在阅读有关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)
非常感谢任何帮助,谢谢.
我需要能够显示具有前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-server ×10
sql ×9
limit ×3
.net ×1
ansi-sql ×1
migration ×1
mysql ×1
pagination ×1
paging ×1
t-sql ×1