如何进行查询以按名称计数、求和和分组?
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
我想做这样的报告,但是查询有问题
没有 | 默克 | 塔洪 | 部门 | 洛卡西 | 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