按重复结果分组

mspsb9vt  于 2021-06-19  发布在  Mysql
关注(0)|答案(0)|浏览(139)

我不能用 GROUP BY 就在这里,为什么 GROUP BY 未获取预期结果。
我无法处理表之间的连接 fee 以及 fee_tm . 分配时 GROUP BY 对于一个表,一个就可以了,但是另一个表的行是根据上一个表的总行(该id已分组)获取的。我试过分配 group_by 但输出都是行的两倍。
预期产量

实际结果
但这一行相应地重复 fee_tm.id 总计行,则输出作为

数据库结构
费用

id  |   ttl |   year
=====================
1   |   Jan |   1
2   |   Feb |   1
3   |   Mar |   1

费用

id  |   ttl     |   year
========================
1   |   Annual  |   1
2   |   Monthly |   1

cls\U费用

id  |   cls_id  |   sec_id  |   fee_id |    fee
================================================
1   |   1       |   1       |   1      |    1000
2   |   1       |   1       |   2      |    560

学生

id  |   ttl |   cls |   sec |   year
====================================
1   |   John|   1   |   1   |   1
2   |   Riya|   1   |   1   |   1

mysql数据库

$result=$con->prepare("
    SELECT
        fee_tm.ttl AS f_tm,
        cls_fee.fee AS f_mnt,
        fee.ttl AS f_ttl
    FROM
        student
    LEFT JOIN
        fee_tm ON fee_tm.year = student.year
    JOIN
        cls_fee ON cls_fee.sec_id = student.sec AND cls_fee.cls_id = student.cls
    LEFT JOIN
        fee ON fee.id = cls_fee.fee_id
    WHERE
        student.id =:stdt
    GROUP BY
        fee_tm.id";

    $results=array();
    while($row=$result->fetch(PDO::FETCH_ASSOC)){
        $results[]=$row;
        echo"
        <input type='checkbox' name='f_id' /'>".$row['f_tm'];
    } echo "<br/>
    <table>";

    foreach($results as $row1){
        echo"
        <tr>
            <td>".$row1['f_ttl']."</td>
            <td>".$row1['f_mnt']."</td>
        </tr>";
} echo "</table>";

的结果 print_r($result->fetchAll(PDO::FETCH_ASSOC)) :

Array (
[0] => Array ( [fee] => Feb [f_mnt] => 1000 [f_ttl] => Annual Fee ) 
[1] => Array ( [fee] => Mar [f_mnt] => 1000 [f_ttl] => Annual Fee ) 
)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题