select * from (select * from table limit 10) oth_table limit 5
这个问题是limit的事?近N条记录是sql语句加多个order by timestamp Desc而已,与limit无关,即使每页显示记录数M中的M与最近N条记录中N不相等,你完全可以写点逻辑来修改limit$limit = $_CONFIGS['limit']; $offset = ( $page - 1 ) * $limit; if ( 最近N记录的操作 ) { $offset = 0; $limit = N; } $sql = "SELECT * FROM table "; $sql .= " WHERE condition"; $sql .= " ORDER BY timestamp DESC"; $sql .= " LIMIT $offset, $limit";
2楼你的方法不行,3楼的我没看特别明白! select * from Syslogd where $strString order by msgdatetime desc limit $firstcount,$displaypg 这个是我分页的SQL$strString是很多条件查询的,其中一个就是limit 0, $temp,近N行记录
一个语句2个limit,显示记录数,但是没显示数据,所以问是不是冲突呢
查询条件里面怎么会有 limit 呢? 如果是子查询中的,须将子查询用括号括起来
select * from (select * from Syslogd where $strString order by msgdatetime desc) limit $firstcount,$displaypg;这样不行?
能不能输出一下您的sql语句然后贴上来看看
select * from Syslogd where msghostname = '192.168.100.252' limit 0, 18
上面不对,连翻页都算上是:select * from Syslogd where msghostname = '192.168.100.252' limit 0, 18 order by msgdatetime desc limit 0,10
select * from Syslogd where msghostname = '192.168.100.252' order by msgdatetime desc limit 0,10
select * from (select * from Syslogd where msghostname = '192.168.100.252' order by msgdatetime desc limit 0,18) a limit 0, 10
$offset = ( $page - 1 ) * $limit;
if ( 最近N记录的操作 ) {
$offset = 0;
$limit = N;
}
$sql = "SELECT * FROM table ";
$sql .= " WHERE condition";
$sql .= " ORDER BY timestamp DESC";
$sql .= " LIMIT $offset, $limit";
select * from Syslogd where $strString order by msgdatetime desc limit $firstcount,$displaypg 这个是我分页的SQL$strString是很多条件查询的,其中一个就是limit 0, $temp,近N行记录
如果是子查询中的,须将子查询用括号括起来