我想获取 20 倍数的最大行数,比如如果我的表有 148 行,那么限制应该是 140,留下最新的 8 个条目,或者如果我的表有 170 行,那么限制将为 160。在这种情况下,查询是什么。
$conn = mysqli_connect($server_name, $mysql_username, $mysql_password,
$db_name);
if($conn === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$number= $_POST['number'];
$sql1 = "SELECT * FROM abc_table LIMIT WHAT TO ENTER HERE ";
最佳答案
据我所知,LIMIT
后面的内容必须是整数文字。 LIMIT
甚至不会采用像 6/2
这样的东西,它会计算为整数文字。我建议只读取整个表,然后仅在 PHP 中处理您需要的行数。
$row_cnt = $result->num_rows;
$rs_size = $row_cnt - ($row_cnt % 20);
while ($rs_size > 0 && $row = mysqli_fetch_assoc($result)) {
// process a row
--$rs_size;
}
上面的 while
循环应该在读取可用的 20 倍数的最大数量后退出。这种方法并不太浪费,因为最多您会从 MySQL 中读取 19 行额外的行,而您最终不会使用这些行。
关于php - 在SQL中根据row_count使用Limit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53920454/