繁体   English   中英

PHP / SQL - 如何显示不同的值和出现次数?

[英]PHP/SQL - How can I display distinct values and the number of occurrences?

所以我目前正在使用PHP从电子邮件中提取主体,解析数据,并将数据插入用户创建的数据库中。 我想使用PHP显示数据的概述(在DB内部)。 这是我想要实现的一个例子:

这是我的表:

表名:bldgSensors

 sensor_code | temp_limit | current_temp
 ---------------------------------------
 0102260100A |    55      |     45
 0102260100B |    55      |     50
 0102260100A |    55      |     48

使用PHP的所需输出:

 Sensors         Count
 0102260100A       2
 0102260100B       1

到目前为止,我可以找到不同的值但不能输出总计数:

$result1 = mysqli_query($DBconn,"SELECT DISTINCT sensor_code FROM bldgSensors");

              echo "<table border='1'>
              <tr>
              <th>Distinct sensor codes</th>
              <th>Count</th>
              </tr>";

              while($row1 = mysqli_fetch_array($result1))
              {
                echo "<tr>";
                echo "<td>" . $row1['sensor_code'] ."</td>";
              }
              echo "</table>";
              mysqli_close($DBconn);

非常感谢提前! 这将有很大帮助!

您可以通过修改查询来实现。 使用COUNT和GROUP BY sql函数:

尝试这个:

$query = "SELECT 
sensor_code, 
COUNT(sensor_code) AS sensorCount
FROM bldgSensors 
GROUP BY sensor_code 
ORDER BY sensorCount DESC";

$result1 = mysqli_query($DBconn, $query);

echo 
'<table border="1">
  <tr>
    <th>Distinct sensor codes</th>
    <th>Count</th>
  </tr>';

  while($row1 = mysqli_fetch_array($result1)){

    echo 
    '<tr>' .

      '<td>' . $row1['sensor_code'] . '</td>' .
      '<td>' . $row1['sensorCount']  . '</td>' .

    '</tr>';

  }

  echo 
  '</table>';

  mysqli_close($DBconn);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM