可能重複:
How to write a (MySQL) 「LIMIT」 in SQL Server?什麼是MySQL語法LIMIT x,y的T-SQL等價物?
如何更改我的查詢與LIMIT裏面的SQL-服務器?
代碼:
SELECT apretiz FROM tableApoint WHERE price = '$newprice' LIMIT 5;
很多事情不工作,所以只是要求幫助
,以及如何通過例子我可以改變LIMIT 5,10?我不能使用TOP嗎?
可能重複:
How to write a (MySQL) 「LIMIT」 in SQL Server?什麼是MySQL語法LIMIT x,y的T-SQL等價物?
如何更改我的查詢與LIMIT裏面的SQL-服務器?
代碼:
SELECT apretiz FROM tableApoint WHERE price = '$newprice' LIMIT 5;
很多事情不工作,所以只是要求幫助
,以及如何通過例子我可以改變LIMIT 5,10?我不能使用TOP嗎?
正如我所說不到一個小時前,你必須使用TOP! (LIMIT用於MYSQL)
因此請嘗試刪除LIMIT 5
並執行SELECT TOP(5) apretiz
。
此外,嘗試添加順序(與以前相同的原因)。
請在事情發生前請先搜索。 Link to old question
使用TOP
關鍵字:
SELECT TOP 5 pretiz
FROM tableApoint WHERE price = '$newprice'
使用LIMIT 5,10不是SQL標準的一部分,而且只在MySQL。
您可以使用SQL的ROW_NUMBER()
作爲臨時解決方案,並會得到相同的期望輸出。
SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM tableApoint
) a WHERE row >= 5 and row <= 10
如果您在使用SQL Server 2005及以上版本,你可以使用ROW_NUMBER
功能分配唯一的編號,你行,然後選擇從輸出值的範圍。
腳本:
CREATE TABLE table1
(
textvalue VARCHAR(10) NOT NULL
);
INSERT INTO table1 (textvalue) VALUES
('i'),
('a'),
('e'),
('h'),
('c'),
('l'),
('g'),
('m'),
('d'),
('k'),
('j'),
('f'),
('b'),
('n');
;WITH letters as
(
SELECT textvalue
, ROW_NUMBER() OVER(ORDER BY textvalue) rownum
FROM table1
)
SELECT textvalue
FROM letters
WHERE rownum BETWEEN 6 AND 10;
輸出:
TEXTVALUE
---------
f
g
h
i
j
由於SQL Server 2012中,你可以寫
...
ORDER BY thisColumn, thatColumn
OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY
編輯的LIMIT 5,10 – pretyBoy
無以下答案顯示了語法'SELECT *',所以這裏是:'SELECT TOP(5)* FROM [TableName]' – K48