sql-server分页语句编写

/**  
* sql-server分页
* 
* @param int $page 分页页码
* @param int $rows 每页数据量数 
* @param int $totalnum  数据的总量
* @param str $sqladd  查询条件
* @return array 返回数据
*/  

public function page_list( $page, $rows, $totalnum, $sqladd = '' )

{

    $page_offset = ($page * $rows) > $totalnum ? $totalnum : ($page * $rows);
    $realpages = @ceil($totalnum / $rows);
    if ($page >= $realpages) {
      $page_left = ($totalnum % $rows);
      $rows = $page_left ? $page_left : $rows;

    }

        $list = DB::select("SELECT * FROM (
                          SELECT TOP ".$rows." * FROM (
                            SELECT TOP ".$page_offset." *
                            FROM 数据库表名
                            $sqladd
                            ORDER BY id ASC
                          ) t
                          ORDER BY id DESC
                        ) t
                        ORDER BY id ASC");
        return $list;

}

猜你喜欢

转载自www.cnblogs.com/sunzhipeng/p/9077859.html