作者clubflymf (clubfly)
看板Database
标题Re: [SQL ] 询问关於Mssql语法转Mysql语法
时间Wed Dec 16 15:23:57 2009
※ 引述《victer0327 (victory)》之铭言:
: 这是一个供分页使用的Ms-SQL Command
: ipage = 1 //ipage 是分页的页码
: cpage = 5 //cpage 是每页显示笔数
: select Top "+ipage+" au_id,au_lname,au_fname,address,phone
: from authors
: where au_id not in (
: select top "+(cpage-1)*ipage+" au_id
: from authors
: order by au_id desc
: )
: order by au_id desc
: ---------下面为自己改写的Mysql command---------------
: select *
: from authors
: where au_id not in (
: select au_num
: from authors
: order by au_num
: limit "+(cpage-1)*ipage+"
: )
: order by au_num desc
: limit ipage
: 出现的错误码为:
: 1235-The version of MySQL doesn't support 'LIMIT _IN/ALL/ANY/SOME subQuery'
: 请教我如何依此逻辑,可以改写成一个可以控制分页的MysSQL command <('_')> 感谢
mssql 因为没有mysql 中好用的 limit,
所以mssql必须将 table 改写成 top+map 的方式达成mysql分页效果。
如果您只是要单纯使用mysql来做分页
只要单纯
select *
from `authors`
where `au_id` ......(加入您要的sql条件)
order by XXXXXX (加入您要的排序.... 非必要)
limit 分页计算笔数 , 单页显示笔数
举个例子
select *
from `authors`
where `au_id` != '10'
limit $pages,50 (一页显示50笔 可自行设计)
$pages = (当下的页面-1)*页显示笔数。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.31.193.1