如何在mysql、php中访问每个类别中相同数量的行

如何在mysql、php中访问每个类别中相同数量的行,php,mysql,Php,Mysql,我想访问具有匹配值的表中的行,在我的表中,我有3列,每列可能包含1或0,如下所示 column1 column2 column3 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 1 0

我想访问具有匹配值的表中的行,在我的表中,我有3列,每列可能包含1或0,如下所示

column1      column2      column3
  1            0           0
  0            1           0 
  0            0           1
  1            1           0 
  0            0           1
  0            1           0
  .            .           .
  .            .           .
这就是我试过的

$query = "SELECT column1, column2, column3 FROM tableName LIMIT 10";
        $Res =  $connection->query($query);

        if($Res->rowCount() > 0) {

            while($rows = $Res->fetch(PDO::FETCH_ASSOC)) {

                if($rows['column1'] == 1) {

                 //body

                    }

                    if($rows['column2'] == 1) {

                 //body

                    }

                    if($rows['column3'] == 1) {

                 //body

                    }
        }
    }

但在这里,我没有得到每列10行。

您已经给出了
限制10
,因此它将只从表中获取10行,而不查看该列中是否有
0
1
,因此,要克服这一问题,一种方法是删除
限制10
而不是使用
count
来保持
1的计数
,并且只打印
10行
。如下图所示:

    $query = "SELECT column1, column2, column3 FROM tableName ";
        $Res =  $connection->query($query);
   //counter for getting rows having 1's
   c=0;
   c1=0;
   c2=0;
        if($Res->rowCount() > 0) {

            while($rows = $Res->fetch(PDO::FETCH_ASSOC)) {

                if($rows['column1'] == 1) {
                //checking if counter is < = to 10
                   if(c<=10){
                   //do something
                    c++; 
                   }
                 }

                    if($rows['column2'] == 1) {

                     if(c1<=10){
                   //do something
                    c1++; 
                   }
                }

               if($rows['column3'] == 1) {

                  if(c2<=10){
                   //do something
                    c2++; 
                   }

             }
        }
    }
$query=“从tableName中选择column1、column2、column3”;
$Res=$connection->query($query);
//用于获取具有1的行的计数器
c=0;
c1=0;
c2=0;
如果($Res->rowCount()>0){
while($rows=$Res->fetch(PDO::fetch_ASSOC)){
if($rows['column1']==1){
//检查计数器是否小于等于10

如果(cif anywhere)列有1,则我需要获取。这意味着我需要单独获取行。很抱歉,我误解了您的问题,请检查!此查询为每列返回10(任意)行(前提是至少存在10行)