From f667cbc2a2e8b9d734a69262f4fcb5bdb06f6a7a Mon Sep 17 00:00:00 2001 From: wenzi1 Date: Fri, 20 Mar 2020 00:33:20 +0800 Subject: [PATCH] Fix the bug of MSSQL paging --- database/gdb/gdb_driver_mssql.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/database/gdb/gdb_driver_mssql.go b/database/gdb/gdb_driver_mssql.go index a6253caf3..953ee08bb 100644 --- a/database/gdb/gdb_driver_mssql.go +++ b/database/gdb/gdb_driver_mssql.go @@ -153,17 +153,15 @@ func (d *DriverMssql) parseSql(sql string) string { "SELECT * FROM "+ "(SELECT ROW_NUMBER() OVER (ORDER BY %s) as ROWNUMBER_, %s ) as TMP_ "+ "WHERE TMP_.ROWNUMBER_ > %d AND TMP_.ROWNUMBER_ <= %d", - orderStr, selectStr, first, limit, + orderStr, selectStr, first, first+limit, ) } else { if first == 0 { first = limit - } else { - first = limit - first } sql = fmt.Sprintf( "SELECT * FROM (SELECT TOP %d * FROM (SELECT TOP %d %s) as TMP1_ ) as TMP2_ ", - first, limit, selectStr, + limit, first+limit, selectStr, ) } default: