如何进行查询以按名称计数、求和和分组?

how to make a query to count, sum, and group by name?

我想做这样的报告,但是查询有问题

没有 默克 塔洪 部门 洛卡西 2020 年历史 2021 年历史 总计 (2020+2021)
1 机器A 2014 生产 洛杉矶 1 1 1 2
2 机器B 2019 生产 洛杉矶 2 0 2 2

这是我的 make table.

代码
<table id="myTable" width="100%" class="table table-striped table-bordered table-hover" id="dataTables-example">
                    <thead>
                        <tr>
                          <th>NO</th>
                          <th>MERK</th>
                          <th>TAHUN</th>
                          <th>DEPARTEMEN</th>
                          <th>LOKASI</th>
                          <th>HISTORY 2020 (X)</th>
                          <th>HISTORY 2021 (X)</th>
                          <th>TOTAL</td>
                        </tr>
                    </thead>
                    <tbody>
                      <?php
                      $sql    = "SELECT merk_tmf,tahun_tmf,dept_tmf,lokasi_tmf FROM tb_tmf GROUP BY merk_tmf";
                      $data20 = mysqli_query($connect,"SELECT merk_tmf FROM tb_tmf WHERE YEAR(waktu_tmf) = 2020 GROUP BY merk_tmf");
                      $data21 = mysqli_query($connect,"SELECT merk_tmf FROM tb_tmf WHERE YEAR(waktu_tmf) = 2021 GROUP BY merk_tmf");
                      $jumlah = mysqli_query($connect,"SELECT merk_tmf FROM tb_tmf GROUP BY merk_tmf");
                      
                      $jumlah20 = mysqli_num_rows($data20);
                      $jumlah21 = mysqli_num_rows($data21);
                      $penjumlahan = mysqli_num_rows($jumlah);

                      $no= 1;
                      $query = $connect->query($sql);
                      while($row = $query->fetch_assoc()){
                        echo 
                            "<tr>
                                <td>". $no++ ."</td>
                                <td>".$row['merk_tmf']."</td>
                                <td>".$row['tahun_tmf']."</td>
                                <td>".$row['dept_tmf']."</td>
                                <td>".$row['lokasi_tmf']."</td>
                                <td>".$jumlah20."</td>
                                <td>".$jumlah21."</td>
                                <td>".$penjumlahan."</td>
                            </tr>";
                            }
                        ?>
                    </tbody>
                </table>

该数据来自此table。

waktu_tmf merk_tmf tahun_tmf dept_tmf lokasi_tmf
2020-06-29 机器A 1987 生产 洛杉矶 1
2021-06-29 机器A 1987 生产 洛杉矶 1
2021-06-29 机器B 1990 生产 洛杉矶 2
2021-06-29 机器B 1990 生产 洛杉矶 2

我知道查询有误,因为我做不对

尝试运行这个,希望这能给你思路...

    select merk_tmf merk, tahun_tmf tahun, dept_tmf departemen, lokasi_tmf lokasi,
          sum(case when date_format(waktu_tmf, '%Y') = 2020 then 1 else 0 end) 'history 2020', 
          sum(case when date_format(waktu_tmf, '%Y') = 2021 then 1 else 0 end) 'history 2021', 
          sum((case when date_format(waktu_tmf, '%Y') = 2020 then 1 else 0 end) +
          (case when date_format(waktu_tmf, '%Y') = 2021 then 1 else 0 end)) 'Total (2020+2021)'
    from tb_tmf 
    group by merk_tmf, lokasi_tmf