如何指定Row_number
以及通过MySQL
存储过程进行选择,我可以使用MS-SQL
进行操作,如下所述:
CREATE PROCEDURE [dbo].[GetCustomersPageWise]
@PageIndex INT = 1
,@PageSize INT = 10
,@PageCount INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SELECT ROW_NUMBER() OVER
(
ORDER BY [CustomerID] ASC
)AS RowNumber
INTO #Results
FROM [Customers]
END
我的问题是......
MySQL
中的参数(例如:@PageIndex INT = 1
)在MySQL
如何实现
SELECT ROW_NUMBER() OVER
(
ORDER BY [CustomerID] ASC
)AS RowNumber
我尝试过什么
当我喜欢这个时
CREATE PROCEDURE 'dbo'.'GetCustomersPageWise'(p_PageIndex INT = 1,p_PageSize INT = 10,p_PageCount INT OUTPUT)
导致错误 Incorrect syntax near =1
我也试过
SELECT ROW_NUMBER()OVER; ( 订购'CustomerID'ASC )AS RowNumber
会导致错误
脚本行:4您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在'ORDER BY product_gid
ASC附近使用正确的语法
)AS RowNumber
product_gid
,
'第8行
答案 0 :(得分:0)
CREATE PROCEDURE [dbo].[GetCustomersPageWise]
@PageIndex INT = 1
,@PageSize INT = 10
,@PageCount INT OUTPUT
AS
BEGIN
SET @ROW_NUMBER= 0;
Insert INTO Results SELECT @ROW_NUMBER:= @ROW_NUMBER+ 1
FROM Customers
END
像这样你可以达到预期的效果。