我想要一张表的上半部分和下半部分数据,我正在使用查询,即使计数为偶数也可以正常工作

select count(*) from reviews
select * from reviews limit count/2
select * from  reviews offset count/2


但是当计数为奇数时,这些查询将失败

请提供任何解决方案

PHP代码

public function getdatedata($data,$data1){
    if(empty($data) && empty($data1) ) return false;
    $data1 = $data1/2;
    $empty='';
$sql = "SELECT ";
$sql .= $this->reviews.".*";
$sql .= " FROM ".$this->reviews;
$sql .= " WHERE DATE(reviews_date)  = '" . $data . "' LIMIT  CEIL(". $data1.")";

$result = $this->db->query($sql);
    if($result->num_rows > 0){
        return $result;
     }            else
     { return  $empty ;}
}

最佳答案

您可以使用CEIL舍入结果:

select count(*) from reviews
select * from reviews limit CEIL(count/2)
select * from  reviews offset CEIL(count/2)


您也可以根据需要使用FLOORROUND

关于mysql - 将数据库表数据分为两部分,但如果计数为奇数怎么办,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47042769/

10-11 12:45