相当于MSSQL与MYSQL中的语句

时间:2014-05-13 19:18:00

标签: mysql sql-server database-migration

是否有与mysql中的以下语句等效的内容?

With Tmp1 as (
        Select Distinct EmpID, TypeID 
        From tb_deductionBalance
), Tmp2 as (
    Select *,
       row_number() OVER ( order by empID /* no employeeID in Tmp1 */) as RowNum 
    From Tmp1
)
Select * From Tmp2
Where RowNum Between @Start and @End

我必须将mssql数据库迁移到mysql,并且有很多这样的语句,如果无法翻译,需要花费更多的时间在mysql中重新创建。

由于

1 个答案:

答案 0 :(得分:0)

SELECT DISTINCT EmpID, TypeID
FROM tb_deductionBalance
ORDER BY empID
LIMIT YourStartNumber - 1, YourEndNumber - YourStartNumber

不幸的是,你不能在LIMIT中使用变量,所以你需要在那里使用实际的整数。例如,如果您想要第3行到第10行的结果,则需要使用:

SELECT DISTINCT EmpID, TypeID
FROM tb_deductionBalance
ORDER BY empID
LIMIT 2, 7